Javascript google maps event.addListener与xml
我正在与谷歌地图的经销商合作。问题是,当我点击一个图标时,信息窗口会打开错误的窗口。我使用xml导入。在信息窗口打开之前,一切都很顺利 查看网站Javascript google maps event.addListener与xml,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在与谷歌地图的经销商合作。问题是,当我点击一个图标时,信息窗口会打开错误的窗口。我使用xml导入。在信息窗口打开之前,一切都很顺利 查看网站 {literal} var映射; 函数初始化(){ 变量映射选项={ 缩放:12, mapTypeId:“路线图” }; map=new google.maps.map(document.getElementById('map-canvas'),mapOptions); //试试HTML5地理定位 if(导航器.地理位置){ navigator.ge
{literal}
var映射;
函数初始化(){
变量映射选项={
缩放:12,
mapTypeId:“路线图”
};
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
//试试HTML5地理定位
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
var pos=新的google.maps.LatLng(position.coords.latitude,
位置坐标经度);
var infowindow=new google.maps.infowindow({
地图:地图,
职位:pos,,
泛控制:对,
动物控制:对,
scaleControl:对,
内容:“U bent nu hier。”
});
地图设置中心(pos);
},函数(){
手持导航(真);
});
}否则{
//浏览器不支持地理定位
手动定位(假);
}
var图像处理https://turbho.com/img/logoturbhogooglesmall.png';
//根据PHP文件的名称更改此选项
下载URL(“xml/datacomplete.xml”,函数(数据){
var xml=data.responseXML;
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(var i=0;i ”+
地址+“
”+
zipcode+“”+town+“
”+
网站+“
”+
锚定+“”;
var marker=new google.maps.marker({
地图:地图,
位置:点,,
图标:图像
});
var infowindow=new google.maps.infowindow({
内容:html
});
google.maps.event.addListener(标记,'click',函数(){
信息窗口。打开(地图、标记);
});
}
});
}
函数下载url(url,回调){
var请求=window.ActiveXObject?
新的ActiveXObject('Microsoft.XMLHTTP'):
新的XMLHttpRequest;
request.onreadystatechange=函数(){
if(request.readyState==4){
request.onreadystatechange=doNothing;
回调(请求、请求、状态);
}
};
打开('GET',url,true);
请求发送(空);
}
函数doNothing(){}
函数handleNogeLocation(errorFlag){
如果(错误标志){
var content='错误:地理位置服务失败';
}否则{
var content='错误:您的浏览器不支持地理位置';
}
变量选项={
地图:地图,
职位:新google.maps.LatLng(60105),
内容:内容
};
var infowindow=new google.maps.infowindow(选项);
地图设置中心(选项位置);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
{/literal}
问题解决了。我使用了一个函数,如下所示,这个函数对我很有用
function add_marker(latlng, title, box_html, image) {
//create the global instance of infoWindow
if (!window.infowindow) {
window.infowindow = new google.maps.InfoWindow();
}
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: title,
icon: image
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.close();
infowindow.setContent(box_html);
infowindow.open(map, this)
});
return marker;
}
谢谢你的帮助
路德
function add_marker(latlng, title, box_html, image) {
//create the global instance of infoWindow
if (!window.infowindow) {
window.infowindow = new google.maps.InfoWindow();
}
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: title,
icon: image
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.close();
infowindow.setContent(box_html);
infowindow.open(map, this)
});
return marker;
}