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