Google使用Jquery和AJAX映射矩形边界

时间:2016-05-10 10:23:23

标签: jquery mysql ajax google-maps

我尝试检索要在Google地图上显示为区域的矩形边界数据。我通过AJAX与Jquery从数据库收集数据。这就是我所拥有的:

AJAX

$.ajax({
                url: 'http://localhost/gui/templates/tracking/show_zones.php',
                //data: 'userid='+ uid ,
                contentType: "application/x-www-form-urlencoded; charset=utf-8",
                dataType: "json",
                type: "POST",
                success: function(json) {
                    data=json;

                    for (var i = 0; i < data.length; i++)
                    {
                        showZone(data[i].nelat,data[i].swlat,data[i].nelng,data[i].swlng);
                    }    
                }
     });

和showZone功能:

function showZone(north,south,east,west) {
      var rectangle = new google.maps.Rectangle({
      strokeColor: '#FF0000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: '#FF0000',
      fillOpacity: 0.35,
      map: map,
      bounds: {
             north: north,
             south: south,
             east: east,
             west: west
      }
   });

}

因此数据完全收到,对于data [i] .nelat,data [i] .swlat,data [i] .nelng,data [i] .swlng我得到值46.187180 45.950665 14.795084 14.425919,这是正确的。如果我在边界变量中手动输入这个数字,我会在所需的区域上得到一个漂亮的矩形。但是,如果我使用此代码,我会收到错误:

&#39; InvalidValueError:setBounds:不是LatLngBounds或LatLngBoundsLiteral:在属性south:不是数字&#39;

这些数字以float(10,6)的形式存储在数据库中,这与谷歌关于PHP / mysql使用地图的手册相对应。我是否还需要以某种方式将数字转换为&#34;正确的&#34;类型或哪里可能是问题?

1 个答案:

答案 0 :(得分:1)

有必要将边界变量解析为浮点数:)