В API Карт есть библиотека геометрии , которую можно использовать для вычисления расстояний, курса и т. Д.
Так что если вам нужно найти 1 точку на заданном расстоянии от другой точки,независимо от заголовка, вы можете использовать метод computeOffset
.
Что делает следующий код, он добавляет маркер в позиции 0,0
(var myLatLng
), затем добавляет еще один маркер, 5000 метров от этой точки, взаголовок 0
(север).Вы можете изменить заголовок, если нужно.
function initialize() {
var myLatLng = new google.maps.LatLng(0,0);
var mapOptions = {
zoom: 10,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var point = google.maps.geometry.spherical.computeOffset(myLatLng, 5000, 0);
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
new google.maps.Marker({
position: myLatLng,
map: map,
title: 'Origin marker'
});
new google.maps.Marker({
position: point,
map: map,
title: 'Offset marker'
});
}
initialize();
#map-canvas {
height: 200px;
}
<div id="map-canvas"></div>
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
Обратите внимание, как загружается API, включая библиотеку геометрии.