Как получить кординаты, нажав на карту Google - PullRequest
1 голос
/ 06 июля 2011

Я новичок в Google Maps и хочу использовать API Google Map Javascript для отображения домов в качестве маркеров.Я хочу, чтобы человек мог нажимать на карту, чтобы разместить маркер, который можно щелкнуть еще раз, чтобы удалить или перетащить в другое место на карте.Затем я хочу, чтобы скрипт получил кординаты (lat и long), чтобы я мог добавить его в таблицу базы данных.Есть идеи, как мне это сделать?Я использую PHP в codeIgniter.

Ответы [ 2 ]

0 голосов
/ 02 декабря 2016

Я опоздал на вечеринку. Ниже приведен фрагмент кода.

/* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
<div id="map"></div>
    <script>
      var map;
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: -34.397, lng: 150.644},
          zoom: 8
        });
        var marker;
        map.addListener('click', function(e) {
          
          if(marker){

            var latlng = new google.maps.LatLng(e.latLng.lat(), e.latLng.lng());
            marker.setPosition(latlng);
          }else{
            marker = new google.maps.Marker({
                  position: {lat : e.latLng.lat(), lng : e.latLng.lng()},
                  map: map
                })
          }

          alert("lat : "+e.latLng.lat()+ "; lng : "+e.latLng.lng())

          });
      }
    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDNPpCPQOwkMotaDj0IgHQ7HDAE8cz6-4U&callback=initMap"
    async defer></script>
0 голосов
/ 06 июля 2011

Хорошее начало - проверить справочное руководство: http://code.google.com/apis/maps/documentation/javascript/reference.html

Если вы посмотрите на карту, то увидите, что у нее есть событие, называемое «щелчок». Что вы делаете, после того, как ваша карта была инициализирована, вы создаете обработчик событий, который прослушивает событие click. Когда это происходит, вы помещаете маркер в это место и добавляете в этот маркер список событий для события щелчка, если хотите удалить его, или делаете его перетаскиваемым, если хотите его перетащить.

Не забудьте хранить свои маркеры в массиве, если вы когда-нибудь захотите использовать информацию, которую они держат снова.

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...