Пользователь Google Maps api может выбрать область

#api #google-maps

#API #google-карты

Вопрос:

Я хочу создать локальную карту для своего города, где люди могут покрывать область полигонами и получать их широту и долготу

Например, есть карта мира, и кто-то пришел, и он хотел покрыть нас, тогда он может просто покрыть ее и получить ее широту и долготу углов или границ

Есть ли какой-либо способ или пример, который я искал об этом в Google и на сайте, но ничего не получил

Извините, у меня нет кодов, мне нужна идея, код или что-то полезное.

Ответ №1:

Простой поиск далhttp://www.the-di-lab.com/polygon / и вы можете найти намного больше примеров наhttp://code.google.com/apis/maps/documentation/javascript/demogallery.html.

К сожалению, приведенная выше демонстрация представляет собой уменьшенный js. Но существенной частью рисования многоугольника (области) на картах Google является 1. загрузка карты 2. отслеживание событий нажатия и положения (широта / lon) 3. рисование линий 4. Наконец, когда получен двойной щелчок, закройте полигон

К сожалению, у меня нет готового образца.

Ответ №2:

Ответы здесь довольно устарели. У Google Maps теперь есть библиотека рисования, эта библиотека позволяет пользователю вставлять маркеры, круги, полигоны и другие типы.

Вы можете найти пример этого здесь. И ссылку на библиотеку здесь. И документация здесь.

введите описание изображения здесь

Ответ №3:

Кажется, сейчас есть более простое решение. По той же ссылке на демонстрационную галерею, которой Muthu поделился ранее, найдите редактируемые пользователем фигуры. Ниже приведен пример кода по этой ссылке, который рисует прямоугольник и позволяет пользователю редактировать форму дальше

     var map = new google.maps.Map(document.getElementById('map'), {
      center: {lat: 44.5452, lng: -78.5389},
      zoom: 9
    });

    var bounds = {
      north: 44.599,
      south: 44.490,
      east: -78.443,
      west: -78.649
    };

    // Define a rectangle and set its editable property to true.
    var rectangle = new google.maps.Rectangle({
      bounds: bounds,
      editable: true
    });
    rectangle.setMap(map);
  }
  

Также вот пример на jsfiddle, который распространяется выше на обобщенный полигон, а ниже приведен код из ссылки

   var editablePolygon = new google.maps.Polygon({
    paths: coords,
    strokeColor: '#FF0000',
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: '#FF0000',
    fillOpacity: 0.35,
    editable: true   });
  

Прилагается скриншот (после перетаскивания одного узла средней точки в треугольнике)

введите описание изображения здесь

Ответ №4:

Я думаю, вам нужно использовать GeoChart https://developers.google.com/chart/interactive/docs/gallery/geochart?csw=1. Он может охватывать определенные регионы или области