Я хотел бы иметь свою собственную кнопку «Просмотр улиц» с помощью Google Maps api v3. Когда кнопка нажата, я хочу, чтобы это загрузило уличное представление на основе моего latlng маркера. Затем я хочу, чтобы кнопка изменилась, чтобы сказать «Назад к карте», и это снова загрузило бы представление карты по умолчанию.Пользовательская кнопка уличного просмотра/управление
Я пытаюсь использовать getStreetView (myLatlng), когда кнопка нажата, но она не загружает вид на улицу, поэтому я должен что-то пропускать здесь, но я не могу найти никакой помощи для этого в Интернете. Вот мой код: -
var map;
var myLatlng = new google.maps.LatLng(42.333029,-83.04559);
/**
* The HomeControl adds a control to the map that simply
* returns the user to Chicago. This constructor takes
* the control DIV as an argument.
* @constructor
*/
function customStreetView(controlDiv, map) {
// Offset from the corner
controlDiv.style.padding = '10px';
// Create control div
var controlUI = document.createElement('div');
controlUI.innerHTML = "View on street";
controlUI.className = "google_map_button"
controlDiv.appendChild(controlUI);
// Setup the click event listener
google.maps.event.addDomListener(controlUI, 'click', function() {
var panorama = map.getStreetView(myLatlng);
if(panorama){panorama.setVisible(false);}
});
}
function initialize() {
var mapOptions = {
zoom: 17,
center: myLatlng,
panControl: true,
zoomControl: true,
mapTypeControl: false,
scaleControl: true,
streetViewControl: false,
overviewMapControl: true
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
// Set the marker
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
icon: 'images/google-map-marker.png'
});
// Create the DIV to hold the control and
// call the HomeControl() constructor passing
// in this DIV.
var homeControlDiv = document.createElement('div');
var homeControl = new customStreetView(homeControlDiv, map);
homeControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);
google.maps.event.addDomListener(window, 'load', initialize);
}
</script>
Может ли кто-нибудь помочь?
Благодаря
спасибо. Это отлично поработало. –