Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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_Php_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 在谷歌地图标记上添加标签和图标

Javascript 在谷歌地图标记上添加标签和图标,javascript,php,google-maps,google-maps-api-3,Javascript,Php,Google Maps,Google Maps Api 3,如何将标签添加到我的两个标记上,以便当您单击标记时,它会向您显示有关它的更多详细信息,以及如何将“接入点2”的图标更改为其他标记 函数初始化(){ var mylatng=new google.maps.LatLng(-26.322402,31.142249), map=new google.maps.map(document.getElementById('google-map-default'){ 缩放:14, 中心:myLatlng }), marker=新的google.maps.ma

如何将标签添加到我的两个标记上,以便当您单击标记时,它会向您显示有关它的更多详细信息,以及如何将“接入点2”的图标更改为其他标记

函数初始化(){
var mylatng=new google.maps.LatLng(-26.322402,31.142249),
map=new google.maps.map(document.getElementById('google-map-default'){
缩放:14,
中心:myLatlng
}),
marker=新的google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“我们在这里!”
});
var accessPoint1=新的google.maps.LatLng(-26.315402,31.123924),
marker1=新的google.maps.Marker({
位置:accessPoint1,
地图:地图,
标题:“接入点1”
}); 
var accessPoint2=新的google.maps.LatLng(-26.316700,31.138043),
marker2=新的google.maps.Marker({
位置:accessPoint2,
地图:地图,
标题:“接入点2”
}); 
}
google.maps.event.addDomListener(窗口“加载”,初始化)
#谷歌地图默认{
高度:200px;
}

对于您的marker1,您可以

    var my_contentString1 = 'my text content 1... ' ;

    var my_infowindow1 = new google.maps.InfoWindow({
      content: my_contentString1
    });

    var accessPoint1 = new google.maps.LatLng(-26.315402,31.123924),
    marker1 = new google.maps.Marker({
        position: accessPoint1,
        map: map,
        title: "Access Point 1"
    });

    marker1.addListener('click', function() {
      my_infowindow1.open(map, marker);
    });

对marker2执行同样的操作这里有一个可能更健壮、更可扩展的解决方案,它使用一个包含位置(标记)的数组和一个InfoWindow对象。有了它,您可以根据需要添加任意多个位置,而无需复制代码的其余部分

函数初始化(){
var mylatng=new google.maps.LatLng(-26.322402,31.142249);
var map=new google.maps.map(document.getElementById('map-canvas'){
缩放:13,
中心:myLatlng
});
var infowindow=new google.maps.infowindow();
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“我们在这里!”
});
变量位置=[
[new google.maps.LatLng(-26.31540231.123924),“接入点1”,“自定义文本1'],
[new google.maps.LatLng(-26.316700,31.138043),“接入点2”,“自定义文本2']
];
对于(变量i=0;i
#地图画布{
高度:200px;
}

我最终以这种方式完成了这项工作,这对我来说非常有效


变量位置=[
[ap7',-26.303139,31.093508,7],
[ap6',-26.32240231.142249,6],
[ap5',-26.316700,31.138043,5],
[ap4',-26.315402,31.123924,4],
[ap3',-26.329244,31.150478,3],
[ap2',-26.309525,31.134632,2],
[ap1',-26.289923,31.140195,1]
];
var map=new google.maps.map(document.getElementById('map'){
缩放:14,
中心:新google.maps.LatLng(-26.30952531.134632),
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var infowindow=new google.maps.infowindow();
var标记,i;
对于(i=0;i
您介意将修改添加到我的代码中并共享完整的代码吗。原谅我,我还是新手我不喜欢你的评论。。。这不是一个免费的编写代码的服务。您只需稍微思考一下,就可以很容易地将其集成到代码中。不过,对于给定的答案,我会避免为每个标记创建单独的InfoWindow对象。有两个标记不是什么大问题,但如果你有2000个标记,那可能是另一个故事。