Используйте метод 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"
})
подтверждение концепции скрипта
фрагмент кода:
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>