как получить маркер карты Google влево и вправо широта и расстояние - PullRequest
0 голосов
/ 30 мая 2018

как пройти налево и направо lat lng и расстояние от точки маркера карты Google, пожалуйста, найдите ниже изображение для справки. Примечание : от точки маркера мне нужно только повернуть налево и направо lat и lng расстояние должно быть около 100 м, 100 м также не зафиксировано, его можно изменить на 10 м или 50 м в будущем.Возможно ли это сделать с помощью Google Map API V3.enter image description here

1 Ответ

0 голосов
/ 31 мая 2018

Используйте метод computeOffset из библиотеки геометрии:

var markE = new google.maps.Marker({
  position: google.maps.geometry.spherical.computeOffset(map.getCenter(), distance, 90),
  map: map,
  label: "E"
})
var markW = new google.maps.Marker({
  position: google.maps.geometry.spherical.computeOffset(map.getCenter(), distance, -90),
  map: map,
  label: "W"
})

подтверждение концепции скрипта

screenshot of resulting map

фрагмент кода:

var map;
var distance = 100; // meters
function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: 13.025228,
      lng: 80.257518
    },
    zoom: 18
  });
  var marker = new google.maps.Marker({
    position: map.getCenter(),
    map: map
  });
  var markE = new google.maps.Marker({
    position: google.maps.geometry.spherical.computeOffset(map.getCenter(), distance, 90),
    map: map,
    label: "E"
  })
  var markW = new google.maps.Marker({
    position: google.maps.geometry.spherical.computeOffset(map.getCenter(), distance, -90),
    map: map,
    label: "W"
  })
}
google.maps.event.addDomListener(window, "load", initMap);
html,
body,
#map {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
<div id="map"></div>
...