2012-03-14 42 views
0

我知道使用gmap v3我可以給中心,並添加指針和指定信息框的內容,並以這種方式我可以讓我的地圖生成。很熱得到谷歌地圖lat和lng?

但我想知道是否有可能直接給出經緯度和直接得到我的地圖生成和什麼是地址在那個地方它將直接進入信息框。有沒有辦法直接做到這一點?

回答

0

我想你還是得來實例化新的地圖,然後才能定義中心,信息框和圖釘等等。但是,要做到這一點的JavaScript大約有10行,所以它不是太多,如果你要多次調用它,你當然可以把它放到一個方法中。所以有效地,你會有一種方法,你可以提供一個lon,lat(也許在頁面上也可以渲染地圖),然後你可以設置地圖。

要居中在地圖上給定的經度,緯度,你可以提供地圖下面的選項: -

center = new google.maps.LatLng(myLat, myLon) 
+0

我找遍了那裏,來到結論是,這麼多的代碼是強制性的。 – Dena 2012-03-15 07:00:41

0

如果您使用文件或數據庫生成座標,則使用php腳本將Ajax請求發送到以下JavaScript文件mapData.js。我建議發送名爲mapData的jSON對象,其中包含座標[lat, long],如下所示。

google.load('visualization', '1', {'packages': ['map']}); 

    jQuery(document).ready(function($){ 
    $.getJSON("mapData.php", function(result) 
    { 
      var mapData=result; 

    var dataTable1=new google.visualization.DataTable(); 
    dataTable1.addRows(mapData.length); 

    dataTable1.addColumn('number', 'LATITUDE', 'Latitude'); 
    dataTable1.addColumn('number', 'LONGITUDE', 'Longitude'); 

     for(var i=0;i<mapData.length;i++) 
     { 
     var coord=mapData[i] 

     dataTable1.setValue(i, 0, parseFloat(coord[0])); 
     dataTable1.setValue(i, 1, parseFloat(coord[1])); 
    } 

    var map=new google.visualization.Map(document.getElementById("Map1")); 
     map.draw(dataTable1, {showTip: true, useMapTypeControl:true, enableScrollWheel:true, zoomLevel:19}); 

    }); 
}); 

在HTML做以下

<head> 
    <script src="https://apis.google.com/js/client.js"></script> 
    <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
    <script src="jQuery.js" type="text/javascript" ></script> 
    <script src="mapData.js" type="text/javascript"></script> 
</head> 

<body> 

    <div id="Map1"> 


    </div> 
</body> 

更多信息here