【发布时间】:2010-05-11 13:08:09
【问题描述】:
我正在尝试将谷歌地图集中在从数据库中提取的单个标记上,到目前为止我所做的是使用此函数从数据库中获取单个标记
function getMarkers(){
var urlstr="readsingle.php?v=<?php echo $cam ?>";
var request = GXmlHttp.create();
request.open('GET', urlstr , true); // request XML from PHP with AJAX call
request.onreadystatechange = function () {
if (request.readyState == 4) { // 4 is a completed request
var xmlDoc = request.responseXML;
locations = xmlDoc.documentElement.getElementsByTagName("location");
markers = [];
if (locations.length){
for (var i = 0; i < locations.length; i++) { // cycle thru locations
markers[i] = new GMarker(new GLatLng(locations[i].getAttribute("lat"),locations[i].getAttribute("lng")));
markers[i].infowindow = "This is "+locations[i].getAttribute("name");
markers[i].markerindex = i;
markers[i].db_id = locations[i].getAttribute("location_id");
map.addOverlay(markers[i]);
}
}
}
}
request.send(null);
}
还有这个函数来加载地图
function onLoad() {
map = new GMap(document.getElementById("div_map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(53.76221, -2.71227), 8);
map.enableScrollWheelZoom();
getMarkers();
GEvent.addListener(map, "click", function(overlay, point) {
if (overlay){ // marker clicked
overlay.openInfoWindowHtml(overlay.infowindow); // open InfoWindow
} else if (point) { // background clicked
}
});
}
如何更改此行的 Lat Lng 值
map.setCenter(new GLatLng(53.76, -2.71), 5);
匹配来自单个标记的 lat lng 值?还是有更简单的方法从数据库中提取单个标记并将地图居中放置?
【问题讨论】:
标签: javascript api google-maps geolocation