可以't使用AJAX动态显示多个谷歌地图标记
Can't dynamically display multiple Google Maps markers using AJAX
根据用户从下拉菜单中的选择,AJAX检索地图上应该用标记标记的位置的纬度和经度,但我无法显示标记。下面是代码。
function selectRoute() {
var route = $("select option:selected").val();
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var locations = xmlhttp.responseText;
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][0], locations[i][1]),
map: map
});
}
}
}
marker.setMap(map);
xmlhttp.open("GET","../lib/markers.php?route="+route,true);
xmlhttp.send();
}
以下是从markers.php页面检索到的responseText的样子:
[[38.018914, -121.945154], [38.003275, -122.024597], [37.973737, -122.029095], and on and on];
我唯一的想法是,问题是这段代码不在初始化谷歌地图的initialize()函数中,但如果这是问题所在,我还无法将这两个函数组合起来。除此之外,我不知道什么是无效的。提前感谢!
var locations = xmlhttp.responseText;
所以location
是一个字符串,您需要解析JSON。然后一切都应该很好
除了marker.setMap(map);
,它在函数之外;而且你根本不需要它,因为你在标记选项中设置了贴图。
相关文章:
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 无法在JS中显示谷歌地图
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 模拟谷歌地图中的点击
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 缓存谷歌地图数据
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 在谷歌地图上绘制位置数据库
- 标记的实时更新,无需加载页面谷歌地图API V3
- 可以't计算自定义谷歌地图的js
- 谷歌地图可以't添加正确的标记ID
- 如何更改角度谷歌地图上的集群图标
- 谷歌地图v3标记没有显示ie8和9