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 单击标记时不显示Google地图信息窗口_Javascript_Google Maps_For Loop_Infowindow_Marker - Fatal编程技术网

Javascript 单击标记时不显示Google地图信息窗口

Javascript 单击标记时不显示Google地图信息窗口,javascript,google-maps,for-loop,infowindow,marker,Javascript,Google Maps,For Loop,Infowindow,Marker,我有三个数组:myLats(纬度)、MyLengs(经度)和myLocs(地址字符串) e、 g.迈拉茨[0]=53.3534751,迈伦斯[0]=-2.5682085,迈洛斯[0]=朗伍德路阿普尔顿-沃灵顿。所以每个阵列的元素在数值上都是相互对应的 在我的initialize()函数中构造地图时,我循环使用这些标记以在正确的坐标处放置多个标记,并且我还尝试在单击时显示每个具有信息窗口的标记,但是当我单击一个标记时,信息窗口根本不出现。在此方面的任何帮助都将不胜感激 代码: 函数初始化(){ 变

我有三个数组:myLats(纬度)、MyLengs(经度)和myLocs(地址字符串) e、 g.迈拉茨[0]=53.3534751,迈伦斯[0]=-2.5682085,迈洛斯[0]=朗伍德路阿普尔顿-沃灵顿。所以每个阵列的元素在数值上都是相互对应的

在我的initialize()函数中构造地图时,我循环使用这些标记以在正确的坐标处放置多个标记,并且我还尝试在单击时显示每个具有信息窗口的标记,但是当我单击一个标记时,信息窗口根本不出现。在此方面的任何帮助都将不胜感激

代码:

函数初始化(){
变量myOptions={
中心:新google.maps.LatLng(54.00366,-2.547855),
缩放:6,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById('map_canvas'),myOptions);
var标记,infowindow,i;

对于(i=0;i这是处理多个标记时的常见问题。实际上,您并不是为每个标记创建新窗口,而是必须为每个标记重新定义单个窗口

您将在的第88页及其后找到问题和解决方案

若你们是谷歌地图API的新手,我建议你们读这本书,它给了我一个很好的开始,我避免了很多“常见”的错误

希望这有帮助。
Jim

我做了一些更改,比如在函数中添加标记、添加“var”和更改I
function initialize() {
    var myOptions = {
        center: new google.maps.LatLng(54.00366, -2.547855),
        zoom: 6,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);

    var marker, infowindow, i;

    for (i = 0; i <= myLats.length; i++) {
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(myLats[i], myLngs[i]),
            map: map,
            clickable: true,
            icon: '". url::base() ."resources/icons/accident.png',
        });
        infowindow = new google.maps.InfoWindow({
            content: myLocs[i],
        });
        google.maps.event.addListener(marker, 'click', function () {
            infowindow.open(map, marker);
        });
    }
}
    var  myLats = [ 54.20366, 54.42366, 54.64366];
    var  myLngs = [ -2.54788, -2.66788, -2.78788];
    var  myLocs = [ "Loc a" , "Loc b" , "Loc c"];

function initialize()
{
var myOptions =
{
    center: new google.maps.LatLng(54.00366,-2.547855),
    zoom: 6,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'),myOptions);

var marker, infowindow, i;

for (i=0; i < myLats.length; i++)
{
  addMarker(i);
}
function addMarker(i) {
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(myLats[i],myLngs[i]),
        map: map,
        clickable: true,
        //icon: '". url::base() ."resources/icons/accident.png',
    });
    var infowindow = new google.maps.InfoWindow({
        content: myLocs[i]
    });
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
    });
}
}
    var  myLats = [ 54.20366, 54.42366, 54.64366];
    var  myLngs = [ -2.54788, -2.66788, -2.78788];
    var  myLocs = [ "Loc a" , "Loc b" , "Loc c"];
    var  map, marker, infowindow, i;


function initialize()
{
var myOptions =
{
    center: new google.maps.LatLng(54.00366,-2.547855),
    zoom: 6,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),myOptions);


infowindow = new google.maps.InfoWindow({ });
for (i = 0; i < myLats.length; i++) {
  addMarker(i);
}
}

function addMarker(i) {
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(myLats[i],myLngs[i]),
        map: map,
        clickable: true
        //icon: '". url::base() ."resources/icons/accident.png'      
    });

    google.maps.event.addListener(marker, 'click', function(event) {
        infowindow.setContent(myLocs[i]);
        infowindow.open(map,marker);
    });
}