#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. Он может охватывать определенные регионы или области