谷歌地图 - 采取坐标

时间:2009-10-08 17:32:21

标签: php google-maps

我的网站上有谷歌地图(php,apache,mysql)。 这是代码:

<script type="text/javascript">
        function initialize() {
        if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map_canvas"));
            var point = new GLatLng(<? $default_ll ?>,<? $default_spn ?>);
            map.setCenter(point, 15);
            map.setUIToDefault();
            map.setMapType(G_NORMAL_MAP);
            var marker = new GMarker(point);
            map.addOverlay(marker); 
        }
    }

    window.onload = initialize;
    window.onunload = GUnload;
    </script>
    <div id="map_canvas" style="width:500px;height:300px;"></div>

我想制作按钮(在地图div之外),所以当用户选择hes coords并点击此按钮时。他正在观看的当前位置将被放入数据库。为简单起见,您可以展示如何分配当前:ll到$ new_ll和spn到$ new_spn

1 个答案:

答案 0 :(得分:2)

GMap2地图对象具有以下方法:

var center = map.getCenter();   // returns GLatLng of center point of map
var span = map.getBounds();   // returns GLatLngBounds of current map view

使用这些只是你可以有这样一个按钮:

<input type="button" onclick="javascript:alert(map.getCenter())" value="Show Coordinates"/>

更现实地说,你将定义一个由按钮onclick调用的函数:

function showCenterAndSpan()
{
    var center = map.getCenter();
    var span = map.getBounds();
    var ne = span.getNorthEast();
    var sw = span.getSouthWest();
    var coordStr = "lat=" + center.lat() + "&lng=" + center.lng() + 
        "&n=" + ne.lat() + "&e=" + ne.lng() + "&s=" + sw.lat() + "&w=" + sw.lng();
    alert(coordStr);   // Or, post this string to the server to save into the database
}