2012-03-25 47 views
0

在我正在構建的項目上,我希望用戶能夠選擇存儲在數據庫中的地址,然後單擊該地址查看更多信息。當用戶點擊鏈接時,它會將他們帶到另一個顯示更多信息的頁面,以及地址的地圖。如何動態更新Bing地圖或Google地圖,具體取決於給定的地址

我想要做的是讓地圖動態定位地址,而不是使用預定義的嵌入鏈接。但是我不完全確定我想做什麼可以完成,如果可以完成,我不知道該怎麼做。

所以基本上,我想知道如何從數據庫中獲取地址,並將其傳遞給我的項目中的嵌入式地圖?

如果使用Bing或Google,對我沒有什麼影響。

乾杯!

回答

1

是你想要的東西可以很容易地完成。 Bing MapsGoogle Maps均提供地理編碼服務,您在該服務中爲地址提供服務,服務將返回地圖上地址的結果經度和緯度座標的一部分。我可以在這裏粘貼一堆代碼,但是您可以在上面的鏈接中找到您需要的所有代碼示例。

當用戶點擊您的地址鏈接時,您將它們帶到您的詳細信息頁面。在該頁面上,您將使用JavaScript來設置您的地圖。除了設置地圖的JavaScript之外,您還需要更多的JavaScript(詳見上述鏈接)調用地理位置服務。從本質上講,您向服務傳遞您要查找的地址,如果地址有效,服務會將該地址的經度和緯度座標返回給您。使用這些信息,您可以縮放到地圖上的該位置,並可以選擇在其中放置圖釘來指示地址。

在谷歌地圖這裏查看這裏的example

Interactive SDK of Bing Maps單擊REST Services - >通過查詢查找位置。

我假設你對地圖控件的ajax版本感興趣,但其他版本應該是非常相似,應該或多或少相同。

+0

謝謝你所有這些,讓我驚訝的是這些地圖服務有多麼強大!我已經探索過Bing了,因爲我比Google更喜歡地圖的外觀。再次感謝! – mickburkejnr 2012-04-18 17:15:25

+0

@mickburkejnr沒問題。有一點需要記住的是,如果你想要在你的應用程序中使用商業應用程序,Bing Maps一般比谷歌地圖要便宜得多。不過,Google地圖目前比Bing地圖擁有更好的Ortho圖像。 – 2012-04-18 17:30:09

+0

我會牢記這一點。非常感謝! – mickburkejnr 2012-04-19 09:31:14

0

你總是可以做這樣的事情:

<div id="location"></div> 

<script type="text/javascript"> 
    function initialize() { 
     var gpLatlng = new google.maps.LatLng(latitude, longitude); 
     var gpOptions = { 
      zoom: 15, 
      center: gpLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     var map = new google.maps.Map(document.getElementById("location"), gpOptions); 

     var marker = new google.maps.Marker({ 
      position: gpLatlng, 
      map: map, 
      title:"Title" 
     }); 
    } 

    function loadScript() { 
     var script = document.createElement("script"); 
     script.type = "text/javascript"; 
     script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initialize&region=GB"; 
     document.body.appendChild(script); 
    } 

    window.onload = loadScript; 
</script>