我创建了一种使用Geolocation查找用户位置的方法,并将该位置传递给我的函数以向Web服务发出请求。收到来自Web服务的数据后,某些标记将添加到地图中。标记显示在地图上,但显然当我尝试更改标记图标时,标记消失了。我试图把它放在同一个文件夹中,图像名称是正确的,我已经尝试在浏览器中打开图像并将其打开。这是我的代码,有人可以帮助我吗?
if(navigator.geolocation) {
browserSupportFlag = true;
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
initialLocation = new google.maps.LatLng(lat,lon);
map.setCenter(initialLocation);
get_json(lat,lon,function(data){
var i, marker;
var location;
for (i=0; i<=data.cells.length;i++) {
location = new google.maps.LatLng(data.cells[i].lat, data.cells);
marker = new google.maps.Marker({
position: location,
map: map,
icon: "../img/icon_bts.png"
});
}
});
}, function() {
handleNoGeolocation(browserSupportFlag);
});
}
答案 0 :(得分:1)
在您添加自己的标记时,似乎意外删除了部分脚本。假设你发布了你的文字代码片段(如果你没有,你真的应该),那么下面一行
location = new google.maps.LatLng(data.cells[i].lat, data.cells);
无法正常工作。 constructor of LatLng有两个数字参数:如果data.cells[i].lat
是数字,data.cells
肯定不是。我假设该行应该读取类似
location = new google.maps.LatLng(data.cells[i].lat, data.cells[i].lng);
如果这不能解决您的问题,只需在浏览器控制台中查看实际错误是什么,并将其作为问题的一部分进行报告。