在特定指定位置附近显示谷歌地图精确点

时间:2011-01-16 15:12:01

标签: javascript google-maps google-maps-api-3

我有一张桌子,上面有一些位置。例如:

ID    LAT        LNG
1     40.759139  -73.979723

我正在尝试从他的IP地址获取用户所在的国家/地区(比方说我拥有它,例如德国,柏林)。

然后浏览我的数据库中的所有位置并选择靠近或在该城市内(城市内更好)的位置并以这种方式显示在地图上:http://code.google.com/apis/maps/documentation/javascript/examples/event-closure.html

现在我看到了这个问题: how do i find near by locations to a given location using google map api

这不是我想要的,虽然它很接近。

任何人都知道如何才能完成我想要做的事情?

谢谢,

1 个答案:

答案 0 :(得分:1)

想出来,你就是这样做的:

注意:$ default包含您最初要显示的城市lat / lng。 mapEvents()返回一个包含事件的所有lat / lng / title的数组。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 

    <script type="text/javascript"> 
    var map;
    function initialize() {
      var myLatlng = new google.maps.LatLng(<?= $default ?>);
      var myOptions = {
        zoom: 9,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }

      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    <?php
        $pinpoints = mapEvents();
        foreach ($pinpoints as $pinpoint) {
            $loc = $pinpoint['UA_LAT'] . "," . $pinpoint['UA_LNG'];
            echo("
                 var myLatlng = new google.maps.LatLng(" . $loc . ");
                 var marker = new google.maps.Marker({
                     position: myLatlng, 
                     map: map,
                     title: '" . $pinpoint['EVENT_NAME'] . "'
                     });
                 ");
            $loc = "";
        }
    ?>
    }
    </script>