Я не знаю ответа на ваши вопросы о том, является ли это ошибкой или она была намеренно удалена, но эта ссылка просто указывает на URL-адрес в объекте места, возвращаемом запросом мест getDetails
.
Вы можете добавить его в информационное окно следующим образом:
infowindow = new google.maps.InfoWindow({
content: '<div><strong>' + place.name + '</strong><br>' + 'Place ID: ' + place.place_id + '<br>' +
place.formatted_address + '</div>'+
// add "view on google maps
'<div style="border-top: 1px solid rgb(204, 204, 204); margin-top: 9px; padding: 6px; font-size: 13px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; font-family: Roboto, Arial;">'+
'<a href="'+place.url+'" target="_blank" rel="noopener" style="cursor: pointer; color: rgb(66, 127, 237); text-decoration: none;">View on Google Maps</a></div>'
});
подтверждение концепции скрипта
фрагмент кода:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: -33.866,
lng: 151.196
},
zoom: 15
});
var service = new google.maps.places.PlacesService(map);
service.getDetails({
placeId: 'ChIJN1t_tDeuEmsRUsoyG83frY4'
}, function(place, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location,
place: {
location: place.geometry.location,
placeId: place.place_id
}
}),
infowindow = new google.maps.InfoWindow({
content: '<div><strong>' + place.name + '</strong><br>' + 'Place ID: ' + place.place_id + '<br>' + place.formatted_address + '</div>' + '<div style="border-top: 1px solid rgb(204, 204, 204); margin-top: 9px; padding: 6px; font-size: 13px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; font-family: Roboto, Arial;"><a href="' + place.url + '" target="_blank" rel="noopener" style="cursor: pointer; color: rgb(66, 127, 237); text-decoration: none;">View on Google Maps</a></div>' +
'<div>API version ' + google.maps.version + '</div>'
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, this);
});
google.maps.event.trigger(marker, 'click');
}
});
}
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->
<script async defer src="https://maps.googleapis.com/maps/api/js?libraries=places&callback=initMap">
</script>