如何获取 google 左右地图标记的经纬度和距离

how to get google map marker left and right lat lng and distance

如何到达左右lat lng以及与google地图标记点的距离请参考下图。 注意:从标记点只需要左右latlng距离应该在100m左右,100m也不是固定的可以改变未来10m或50m。是否可以使用 google map API V3 来做到这一点。

使用几何库的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"
})

proof of concept fiddle

代码片段:

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>