0

我想建立一种方式,用户可以在地图上放置一个标记来告诉他们的地址,我应该能够提取经纬度并将其存储在数据库中。

有没有我可以修改和使用的插件?

4

2 回答 2

1

也许这就是你正在寻找的:

我为此使用javascript。

在这里,您从地址设置一个标记。

var address= "denmark Århus";
  geocoder.getLatLng(
                  address,
                  function(point) {
                    if (!point) {
                      alert(address + " not found");
                    } else {
                      map.setCenter(point, 14);
                      map.addOverlay(new GMarker(point, markerOptions));
                      }
                    }
                  ); 
于 2010-10-28T11:51:31.927 回答
1

首先创建一个接受 latlng 对象的函数。此功能会将信息添加到您的数据库中,如果成功则添加标记。

function addRestaurant( latlng ) {
    lat = latlng.lat;
    lng = latlng.lng;
    //Code to add restaurant
    if ( dbase_successful ) {
        var marker = new google.maps.Marker({
         position: latlng,
         title: "Some text"
            map: map //make your map global
        });
    }
}

然后在地图的点击事件上添加一个事件监听器,调用你刚刚创建的函数。将此添加到您的地图初始化代码中。

google.maps.event.addListener(map, 'click', function(event) { addRestaurant( event.latlng ) } );

现在,当您的地图被点击时,add_restaurant 将使用地图上点击事件的 latlng 进行调用。

于 2010-10-28T16:56:33.150 回答