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报告的另一条错误消息与此无关。