用javascript調用搜狗地圖實現景點的顯示

因爲課程須要,最近作了搜狗地圖服務的接入工做,要在地圖上標註出景點位置,現略作總結,以備查閱。(部署該服務到Tomcat中的時候中文老是亂碼,糾結了半天,最後不得不show in Eclipse) javascript

java提供了rest服務的框架實現——jax-rs,能夠較爲輕鬆的創建一個webservice,工程目錄以下: html



咱們用到的是搜狗地圖的地址解析服務,能夠經過一個地點的名稱,來查詢此景點的詳細信息,主要是其地圖座標(固然還有其餘服務,不止於此,咱們只討論用到的部分) java

    服務能夠經過以下方式請求: web

http://api.go2map.com/engine/api/geocoder/json?city=北京市&addr=北京市海淀區中關村東路一號院 json

返回結果是一個json格式的地理信息: api

{
"response":
{
"city":
"北京市",
"keyword":
"北京市海淀區中關村東路一號院",
"match":
"海淀區中關村東路一號院7號樓威盛大廈",
"province":
"北京市",
"x":
12949190.267684,
"y":
4837046.995794
},
"status":
"ok"
}
瀏覽器

 xy值就是其座標信息,有了這個座標信息咱們就能夠在javascript代碼中調用sogou地圖api將該位置標註顯示出來。 框架

  代碼實現: url

返回html網頁:
這部分主要是返回一個html網頁,其中用javascript調用搜狗地圖實現了景點的顯示,實現難點在於對javascript不夠熟悉,不過好在搜狗地圖給出了比較詳細的例子,介紹了各類api接口的使用方法,參考:http://map.sogou.com/api/documentation/javascript/api2.5/examples/index.html#welcome spa

但是實現將具備該功能的html頁面寫好,而後在程序加入實際景點的信息,組裝成實際顯示了具體景點標註的html返回到請求方。

使用方式:
在瀏覽器中輸出url進行訪問,形式爲:http://[ip]:8080/sogouMap/services/travel?q=[景點名]

接受的參數爲q=後面的字符串部分,參數既能夠是景點,也能夠是行程。
若是是查詢景點,那麼直接在景點名部分加入響應的景點便可,例如:

http://localhost:8080/sogouMap/services/travel?q=北京植物園,瀏覽器中將顯示:

返回html網頁:
這部分主要是返回一個html網頁,其中用javascript調用搜狗地圖實現了景點的顯示,實現難點在於對javascript不夠熟悉,不過好在搜狗地圖給出了比較詳細的例子,介紹了各類api接口的使用方法,參考:http://map.sogou.com/api/documentation/javascript/api2.5/examples/index.html#welcome

但是實現將具備該功能的html頁面寫好,而後在程序加入實際景點的信息,組裝成實際顯示了具體景點標註的html返回到請求方。

相關文章
相關標籤/搜索