我知道使用gmap v3我可以给中心,并添加指针并指定信息框的内容,以这种方式我可以生成我的地图。
但是我想知道是否可以直接给出lat和lng并直接获取我的地图生成以及该地点的地址是什么,它将直接进入信息框。有没有办法直接这样做?
答案 0 :(得分:0)
如果使用文件或数据库生成坐标,则使用php脚本向{j}文件Ajax
发送mapData.js
请求。我建议发送包含坐标mapData
的名为[lat, long]
的jSON对象,如下所示。
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
答案 1 :(得分:0)
我认为你仍然需要在定义中心,信息框和图钉等之前实例化新地图。但是,这样做的javascript大约是10行,所以它不是太多你可以如果你多次打电话,肯定会把它变成一种方法。如此有效地你会有一个方法,你提供一个lon,lat(也许在页面上也可以渲染地图)然后你会设置地图。
要使地图居中于给定的lon,lat,您可以使用以下选项提供地图: -
center = new google.maps.LatLng(myLat, myLon)