我创建了一种使用地理位置查找用户位置的方法,并将该位置传递给我的函数以向 Web 服务发出请求。收到来自网络服务的数据后,一些标记将添加到 map 中。标记已显示在 map 上,但显然当我尝试更改标记图标时,标记消失了。我尝试将其放在同一文件夹中,并且图像名称是正确的,并且我尝试在浏览器中打开该图像并将其打开。这是我的代码,有人可以帮助我吗?
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);
});
}
最佳答案
似乎您在添加自己的标记时不小心删除了脚本的一部分。假设您发布了文字代码片段(如果您没有发布,您确实应该),则以下行
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);
如果这不能解决您的问题,只需在浏览器控制台中查看实际错误是什么,并将其作为问题的一部分进行报告。
关于javascript - 谷歌地图 : Can't Change Marker Icon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593373/