Javascript Google Maps API的边界导致0,0位置
我尝试使用以下代码行将地图边界与标记匹配:Javascript Google Maps API的边界导致0,0位置,javascript,google-maps,google-maps-api-3,fitbounds,Javascript,Google Maps,Google Maps Api 3,Fitbounds,我尝试使用以下代码行将地图边界与标记匹配: var latlngbounds = new google.maps.LatLngBounds(); latlngbounds.extend(latlng); map.fitBounds(latlngbounds); 由于某种原因,地图会缩放到地图上的位置0,0 更新1:似乎在IE9中工作,但在Chrome中不工作。在Chrome开发者模式下获取以下错误消息:端口错误:无法建立连接。接收端不存在。 更新2:在IE9中重新加载页面后,它
var latlngbounds = new google.maps.LatLngBounds();
latlngbounds.extend(latlng);
map.fitBounds(latlngbounds);
由于某种原因,地图会缩放到地图上的位置0,0
更新1:似乎在IE9中工作,但在Chrome中不工作。在Chrome开发者模式下获取以下错误消息:端口错误:无法建立连接。接收端不存在。
更新2:在IE9中重新加载页面后,它也停止工作
这是我的密码。我一定是做错什么了
//variables
var map;
var markers = [];
var latlngbounds;
//initialize google map
function initialize()
{
var myOptions = {
center: new google.maps.LatLng(-26.17706, 28.34613),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
latlngbounds = new google.maps.LatLngBounds();
//display markers
updateMarkersDisplayed();
}
//displays google map after site load complete
google.maps.event.addDomListener(window, 'load', initialize);
//retrieves markers for map
function updateMarkersDisplayed()
{
//php get url
var searchUrl = 'getCoords.php';
downloadUrl(searchUrl, function(data) {
var xml = parseXml(data);
var markerNodes = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markerNodes.length; i++) {
var id = markerNodes[i].getAttribute("device_id");
var latlng = new google.maps.LatLng(
parseFloat(markerNodes[i].getAttribute("lat")),
parseFloat(markerNodes[i].getAttribute("lng")));
createMarker(latlng, id);
latlngbounds.extend(latlng);
}
});
//zoom map to display all markers
map.fitBounds(latlngbounds);
}
//create marker and display on map if not already visible
function createMarker(latlng, id) {
var iconUrl = 'images/phones.png';
var marker = new google.maps.Marker({
map: map,
position: latlng,
title: id,
icon: iconUrl
});
markers.push(marker);
markers[markers.length-1].setMap[map];
}
//download xml file containing markers specified by the GET parameters contained in the url passed
function downloadUrl(url,callback)
{
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState == 4)
{
request.onreadystatechange = doNothing;
callback(request.responseText, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
//parse text returned by php script
function parseXml(str) {
if (window.ActiveXObject)
{
var doc = new ActiveXObject('Microsoft.XMLDOM');
doc.loadXML(str);
return doc;
}
else if (window.DOMParser)
{
return (new DOMParser).parseFromString(str, 'text/xml');
}
}
//capture extra XMLHttpRequest responses
function doNothing() {}
//变量
var映射;
var标记=[];
var latlngbounds;
//初始化谷歌地图
函数初始化()
{
变量myOptions={
中心:新google.maps.LatLng(-26.17706,28.34613),
缩放:10,
mapTypeId:google.maps.mapTypeId.ROADMAP};
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
latlngbounds=新的google.maps.latlngbounds();
//显示标记
updateMarkersDisplayed();
}
//网站加载完成后显示谷歌地图
google.maps.event.addDomListener(窗口“加载”,初始化);
//检索地图的标记
函数updateMarkersDisplayed()
{
//php获取url
var searchUrl='getCoords.php';
下载URL(搜索URL,函数(数据){
var xml=parseXml(数据);
var markerNodes=xml.documentElement.getElementsByTagName(“标记”);
对于(变量i=0;i
google.maps.LatLngBounds将地图居中于0,0是空边界的症状
您正在使用XML作为标记数据。不工作的浏览器可能不喜欢您的XML,请尝试将这些浏览器直接指向XML提要,并修复报告的任何问题。google.maps.LatLngBounds将地图集中在0,0是空边界的症状
您正在使用XML作为标记数据。不工作的浏览器可能不喜欢您的XML,请尝试将这些浏览器直接指向XML提要并修复报告的任何问题。必须移动
map.fitBounds(latlngbounds)代码>在downloadUrl(searchUrl,function(data){
函数中,因为在XML下载完成之前调用了fitBounds
downloadUrl(searchUrl, function(data) {
var xml = parseXml(data);
var markerNodes = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markerNodes.length; i++) {
var id = markerNodes[i].getAttribute("device_id");
var latlng = new google.maps.LatLng(
parseFloat(markerNodes[i].getAttribute("lat")),
parseFloat(markerNodes[i].getAttribute("lng")));
bounds.extend(latlng);
createMarker(latlng, id);
}
//zoom map to display all markers
map.fitBounds(bounds);
});
downloadUrl(搜索URL,函数(数据){
var xml=parseXml(数据);
var markerNodes=xml.documentElement.getElementsByTagName(“标记”);
对于(变量i=0;i
必须将map.fitBounds(latlngbounds);
移动到下载URL(searchUrl,function(data){
函数中,因为在XML下载完成之前调用了fitBounds
downloadUrl(searchUrl, function(data) {
var xml = parseXml(data);
var markerNodes = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markerNodes.length; i++) {
var id = markerNodes[i].getAttribute("device_id");
var latlng = new google.maps.LatLng(
parseFloat(markerNodes[i].getAttribute("lat")),
parseFloat(markerNodes[i].getAttribute("lng")));
bounds.extend(latlng);
createMarker(latlng, id);
}
//zoom map to display all markers
map.fitBounds(bounds);
});
downloadUrl(搜索URL,函数(数据){
var xml=parseXml(数据);
var markerNodes=xml.documentElement.getElementsByTagName(“标记”);
对于(变量i=0;i
我的XML提要没有问题。边界怎么可能为空?Chrome报告的另一条错误消息与此无关。我的XML提要没有问题。边界怎么可能为空?Chrome报告的另一条错误消息与此无关。