2012-05-22 64 views
0

我正在開發一個應用程序,該應用程序根據GPS設備發送的信號顯示車輛的位置。我在ASP.Net一個GridView,它會根據使用存儲過程的參數,然後用填充gridview的是信息:顯示Google地圖圖標而不是動態定位

DataSetTableAdapters.sp_GetPositionTableAdapter gp = new DataSetTableAdapters.sp_GetPositionTableAdapter 
gridview.DataSource= gp.GetData(parameters) 

的列有:到貨,地址,位置(經緯度)的時間。但我不想顯示像這樣的位置>>「32.546750000000000,-116.947848333333000」,我想顯示一個圖標,重定向到google地圖頁面,車輛的位置被標記。或者可能顯示一個彈出窗口。

這樣做的最好方法是什麼?

在此先感謝。

回答

1

與HREF輸出定位標記的最簡單方法=「HTTP://maps.google.com/maps Q = 32.546750000000000,-116.947848333333000」

最好的辦法是學習如何使用Google地圖API並在地圖上的適當位置創建標記。

簡單的例子:

<script type="text/javascript" 
    src="https://maps.googleapis.com/maps/api/js?sensor=false"> 
</script> 
<style type="text/css"> 
    #map_canvas { height: 100%; } 
    @media print { 
     html, body { height: auto; } 
     #map_canvas { height: 650px; } 
    } 
</style> 

<script type="text/javascript"> 
function initialize() { 
    var myLatlng = 
     new google.maps.LatLng(32.546750000000000, -116.947848333333000); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    var map = new google.maps.Map(
     document.getElementById("map_canvas"), myOptions); 
    var marker = new google.maps.Marker({ 
     position: myLatLng, 
     map: map, 
     title: "Hello World!" 
    }); 
} 

if (window.addEventListener) { // W3C standard 
    window.addEventListener('load', initialize, false); // NB **not** 'onload' 
} 
else if (window.attachEvent) { // Microsoft 
    window.attachEvent('onload', initialize); 
} 
</script> 

<div id="map_canvas" style="height: 400px; width: 800px;"></div> 
+0

很好的例子。這是_very_ minor,但是當我修改代碼格式時,我發現你有'map_canvas'的多個樣式定義。我不想混淆那部分,但你可能想要做一些整理;我不確定是否有某些內容是你想突出顯示的,所以我把它放在了你寫的地方。 –

+0

第二個定義是針對print @media定義的。這在輸出是打印機而不是屏幕時使用。很高興這個示例很有用......它實際上是從Google Maps API示例中直接獲取的...... –

+0

@ChrisStater,感謝您的幫助。我正在使用一個簡單的錨標記,它的工作正常。但我想知道,有沒有辦法在默認情況下在「地圖」視圖中顯示谷歌地圖頁面而不是「衛星」? –