【问题标题】:Google Maps APIv3 about handling multiple markersGoogle Maps APIv3 关于处理多个标记
【发布时间】:2012-04-24 10:35:24
【问题描述】:

我有一些代码放在一起,我发现 zLat 和 zLng 一定有问题。我想知道为什么当我在 for 循环中用 tLat 和 tLng 替换 zLat 和 zLng 时,我得到一个有意义的标记。有了 zLat 和 zLng ,我没有得到任何标记。为什么会发生这种情况?

附:我对 zLat 和 zLng 的警报正在产生看似正确的输出,但它一定不是?

    // // // // // // // // Ajax returns from PHP
xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        var obj = $.parseJSON(xmlhttp.responseText);

        var tLat = getCookie("tLat");
        var tLng = getCookie("tLng");

        var options = {
          zoom: 4,
          center: new google.maps.LatLng(40.7257, -74.0047),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        // Creating the map  
        var map = new google.maps.Map(document.getElementById('map'), options);

        // Adding a marker to the map
        /*var marker = new google.maps.Marker({
          position: new google.maps.LatLng(tLat, tLng),
          map: map,
          title: 'Click me',
          icon: 'http://gmaps-samples.googlecode.com/svn/trunk/markers/blue/blank.png'
        });*/

        var marker;

        alert(obj.length);

        for(var i=0;i<obj.length;i++) {

            var zLat = String(obj[i].lat);
            var zLng = String(obj[i].lng);

            marker = new google.maps.Marker({
              position: new google.maps.LatLng(zLat, zLng),
              map: map,
              title: 'Click me'
            });

            alert(zLat+','+zLng+','+i); 
        }


        $('#map').show();
    }
}
// // // // // // // //

【问题讨论】:

  • 您为什么使用String 方法?尝试从您的代码中排除该方法..

标签: ajax json google-maps google-maps-markers


【解决方案1】:
    // // // // // // // // Ajax returns from PHP
xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        var obj = $.parseJSON(xmlhttp.responseText);

        var tLat = getCookie("tLat");
        var tLng = getCookie("tLng");

        var options = {
          zoom: 4,
          center: new google.maps.LatLng(tLat, tLng),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        // Creating the map
        var map = new google.maps.Map(document.getElementById('map'), options);



        var myLatLng = new google.maps.LatLng(parseFloat(obj[0][2]), parseFloat(obj[0][1]));

        //var marker = new google.maps.Marker({ position: myLatLng, map: map });

        var marker;

        for(var i=0;i<obj.length;i++) {

            var myLatLng = new google.maps.LatLng(parseFloat(obj[i].lat), parseFloat(obj[i].lng));

            var marker = new google.maps.Marker({ position: myLatLng, map: map });
        }

        $('#map').show();
    }
}
// // // // // // // //

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多