Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从标记数据集中检索标记图标_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 从标记数据集中检索标记图标

Javascript 从标记数据集中检索标记图标,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在使用谷歌地图API v3制作一个网站。 标记被添加到地图中,属性取自标记数据 标记数据集 var markerData = [ "lat": '21.0236081', "long": '105.789596', "icon": 'http://i.imgur.com/0Js6A7w.gif', "description": 'blah blah' ]; 将标记固定到地图上 for (var i = 0; i < markerData.length;

我正在使用谷歌地图API v3制作一个网站。 标记被添加到地图中,属性取自标记数据

标记数据集

var markerData = [
    "lat": '21.0236081',
    "long": '105.789596',
    "icon": 'http://i.imgur.com/0Js6A7w.gif',
    "description": 'blah blah'
];
将标记固定到地图上

for (var i = 0; i < markerData.length; i++) {
    var data = markerData[i];
    var myLatLng = new google.maps.LatLng(data.lat, data.long);
    var image = "'" + data.icon + "'";
    var marker = new google.maps.Marker({
        position: myLatLng,
        icon: image
    });
    (function (marker, data) {
        google.maps.event.addListener(marker, "click", function (e) {
            infoWindow.setContent(data.description);
            infoWindow.open(map, marker);
        });
    })(marker, data);
    markerList.push(marker);
}
for(变量i=0;i
我无法将链接放入标记的“图标”属性中。 有人能给我一些建议吗


谢谢大家

必须将贴图对象传递给标记

 var marker = new google.maps.Marker({ // put a marker on map
                position: {lat:lat, lng:lng},
                map: map,
                icon: iconURL
    }

您的代码中有许多拼写错误:

  • markerData应该是一个对象数组,
    lat
    long
    属性应该是数字:
  • 您需要将标记的
    map
    属性设置为
    map
    对象:
  • 图标周围有额外的引号:
  • 应该是:

    var image = data.icon;
    
    data.icon
    已经是字符串)

    代码片段:

    var地理编码器;
    var映射;
    var-markerList=[];
    函数初始化(){
    var map=new google.maps.map(
    document.getElementById(“地图画布”){
    中心:新google.maps.LatLng(37.4419,-122.1419),
    缩放:13,
    mapTypeId:google.maps.mapTypeId.ROADMAP
    });
    var markerData=[{
    “lat”:21.0236081,
    “长”:105.789596,
    “图标”:”http://maps.google.com/mapfiles/ms/micons/blue.png", // 'http://i.imgur.com/0Js6A7w.gif',
    “描述”:“诸如此类”
    }];
    var bounds=new google.maps.LatLngBounds();
    对于(变量i=0;i1)map.fitBounds(bounds)
    else地图设置中心(myLatLng);
    }
    }
    google.maps.event.addDomListener(窗口“加载”,初始化)
    
    html,
    身体,
    #地图画布{
    身高:100%;
    宽度:100%;
    边际:0px;
    填充:0px
    }
    
    
    您是否检查了
    数据。图标
    ?但您将地图对象传递到标记的位置??它必须通过嗨,我有另一个功能来设置地图上的标记谢谢!我自己也有同样的想法。
    var marker = new google.maps.Marker({
      position: myLatLng,
      icon: image,
      map: map
    });
    
    var image = "'" + data.icon + "'";
    
    var image = data.icon;