我想知道是否有一个简单的脚本可以做到以下几点:
加载谷歌地图,并在点击时显示标记,将经纬度值保存到变量中?
请问是否已经有类似于 PHP 的解决方案了呢?
提前感谢。
我想知道是否有一个简单的脚本可以做到以下几点:
加载谷歌地图,并在点击时显示标记,将经纬度值保存到变量中?
请问是否已经有类似于 PHP 的解决方案了呢?
提前感谢。
也许你正在寻找类似于纬度经度查找工具的东西。示例代码使用的是API v2。以下是使用Google Maps API v3简化版本的代码:
var latlng = new google.maps.LatLng(51.4975941, -0.0803232);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'Set lat/lon values for this property',
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function(a) {
console.log(a);
// bingo!
// a.latLng contains the co-ordinates where the marker was dropped
});
解释:你必须将标记的 draggable
属性设置为 true。然后,可以将回调函数挂钩到该标记的 dragend
事件上;新坐标将传递给函数,您可以将它们分配给 JavaScript 变量或表单字段。
// add a click event handler to the map object
GEvent.addListener(map, "click", function(overlay, latLng)
{
// display the lat/lng in your form's lat/lng fields
document.getElementById("latFld").value = latLng.lat();
document.getElementById("lngFld").value = latLng.lng();
});
请查看Google地图API v.3。从事件页面中了解更多:
google.maps.event.addListener(map, 'click', function(event) {
// use event.latLng to place a google.maps.Marker
});
google.maps.event.addListener(map, 'click', function(event) {
addMarker(event.latLng);
});
以下代码运行良好。
var latlng = new google.maps.LatLng(51.4975941, -0.0803232);
var map = new google.maps.Map(document.getElementById('map'), {
center: latlng,
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: 'Set lat/lon values for this property',
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function (event) {
document.getElementById("latbox").value = this.getPosition().lat();
document.getElementById("lngbox").value = this.getPosition().lng();
});