通过Jquery发送地图边界到谷歌地图ui

时间:2013-11-25 16:10:46

标签: php jquery google-maps google-maps-api-3

我使用此脚本通过JSON获取Google地图的标记。 它无法正常工作,因为我需要在Json脚本中接收边界,如下所示:

$swLat=$_GET["swLat"];
$swLon=$_GET["swLon"];

$neLat=$_GET["neLat"];
$neLon=$_GET["neLon"];

这是我需要你帮助的地方。

Google地图脚本

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="http://skiweather.eu/gmap3/js/jquery.ui.map.js"></script>

<script language="javascript" type="text/javascript">
        var map = null;
map = new google.maps.Map(document.getElementById("map"));
        var markers = new Array();

        var bounds = map.getBounds();
        var zoomLevel = map.getZoom();           


     $(function() { 

    demo.add(function() {

    $('#map').gmap().bind('init', function() { 
        $.getJSON( 'http://skiweather.eu/gmap3/markers/index.php', {zoom: zoomLevel, 
            swLat: bounds.getSouthWest().lat(), swLon: bounds.getSouthWest().lng(), 
            neLat: bounds.getNorthEast().lat(), neLon: bounds.getNorthEast().lng()}, function(data) { 
            $.each( data.markers, function(i, marker) {
                $('#map').gmap('addMarker', { 
                    'position': new google.maps.LatLng(marker.latitude, marker.longitude), 
                    'bounds': true 
                }).click(function() {
                    $('#map').gmap('openInfoWindow', { 'content': marker.content }, this);
                });
            });
        });
    });

    }).load();


    }); 


                    </script>

                </head>
                <body>
                <div id="map"></div>

1 个答案:

答案 0 :(得分:0)

你的代码的jQuery / gmap部分根本不会被执行。

固定代码:

<script type="text/javascript">
   $(function() { 
    $('#map').gmap().bind('init', function() {
      var markers = new Array();
      var bounds = $(this).gmap('get','map').getBounds();
      var zoomLevel = $(this).gmap('get','map').getZoom();   
        $.getJSON( 'http://skiweather.eu/gmap3/markers/index.php', {zoom: zoomLevel, 
            swLat: bounds.getSouthWest().lat(), swLon: bounds.getSouthWest().lng(), 
            neLat: bounds.getNorthEast().lat(), neLon: bounds.getNorthEast().lng()}, function(data) { 
            $.each( data.markers, function(i, marker) {
                $('#map').gmap('addMarker', { 
                    'position': new google.maps.LatLng(marker.latitude, marker.longitude), 
                    'bounds': true 
                }).click(function() {
                    $('#map').gmap('openInfoWindow', { 'content': marker.content }, this);
                });
            });
        });
    });


    });
</script>

然而,它现在正在发送数据,但它仍然无效,因为服务器不会给出任何响应(你确定有一个返回JSON数据的web服务吗?)

相关问题