Пользователь Google Maps - PullRequest
       7

Пользователь Google Maps

0 голосов
/ 28 октября 2010

Я хочу настроить способ, с помощью которого пользователи могут размещать маркер на карте, чтобы сообщить свой адрес, и я должен быть в состоянии извлечь lat и long и сохранить его в базе данных.

Есть ли плагин somekinda, который я могу изменить и использовать?

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Сначала создайте функцию, которая принимает объект 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
        });
    }
}

Затем добавьте прослушиватель событий в событие click карты, которая вызывает функцию, которую вы только что создали. Добавьте это на код инициализации вашей карты.

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

Теперь при нажатии на вашу карту add_restaurant будет вызываться с последним значением события click на карте.

1 голос
/ 28 октября 2010

Может быть, это то, что вы ищете:

Я использую для этого 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));
                      }
                    }
                  ); 
...