javascript - Custom street view button/control -
i able have own 'street view' button using google maps api v3. when button clicked want load street view based on latlng of marker. button change 'back map' , load default map view again.
i trying use getstreetview(mylatlng) when button clicked it's not loading street view must missing here can't seem find on web. here's code:-
var map; var mylatlng = new google.maps.latlng(42.333029,-83.04559); /** * homecontrol adds control map * returns user chicago. constructor takes * control div argument. * @constructor */ function customstreetview(controldiv, map) { // offset 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 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 marker var marker = new google.maps.marker({ position: mylatlng, map: map, icon: 'images/google-map-marker.png' }); // create div hold control , // call homecontrol() constructor passing // in 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> can help?
thanks
- of course must set
visibletruewhen want show panorama the
positionnot set via argument ofgetstreetview(), must set property viaset,setvalues,setpositionorsetoptionsgoogle.maps.event.adddomlistener(controlui, 'click', function() { map.getstreetview().setoptions({visible:true,position:mylatlng}); });
Comments
Post a Comment