谷歌地图:无法更改标记图标

时间:2015-11-08 11:21:43

标签: javascript google-maps

我创建了一种使用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);
    });
  }

1 个答案:

答案 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);

如果这不能解决您的问题,只需在浏览器控制台中查看实际错误是什么,并将其作为问题的一部分进行报告。