谷歌地图:Can't更改标记图标

Google Maps: Can't Change Marker Icon

本文关键字:图标 Can 谷歌地图      更新时间:2023-09-26

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

在添加自己的标记时,似乎意外删除了脚本的一部分。假设你发布了你的文字代码片段(如果你没有,你真的应该

location = new google.maps.LatLng(data.cells[i].lat, data.cells);

永远无法工作。LatLng的构造函数接受两个数字参数:如果data.cells[i].lat是一个数字,那么data.cells肯定不是。我想这行应该读起来像

location = new google.maps.LatLng(data.cells[i].lat, data.cells[i].lng);

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