javascript - fitBounds in PrimeFaces gmap component -


is there way call fitbounds method in google map object created primefaces gmap component? tried code below, javascript error: typeerror: primefacesmap.fitbounds not function. appears fitbounds overriden boolean property primefaces framework.

<h:head>   <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"/>   <script type="text/javascript"> //<![cdata[   function initprimefacescomponent(){     var primefacesmap = gmtls.getmap();     var bounds = new google.maps.latlngbounds();     var points = [       new google.maps.latlng(41.3, 2),       new google.maps.latlng(41.309, 2)       ];     // extend bounds each point     (var = 0; < points.length; i++) {       bounds.extend(points[i]);       new google.maps.marker({position: points[i], map: primefacesmap});     }     // apply fitbounds     primefacesmap.fitbounds(bounds);    } //]]>   </script> </h:head>  <h:body onload="initprimefacescomponent();" >   <p:gmap center="41.3, 2" zoom="15" type="roadmap"   widgetvar="gmtls"     style="width:600px;height:400px" />   </h:body> 

below code works google map object created without primefaces:

<h:head>   <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"/>   <script type="text/javascript"> //<![cdata[   function initoriginalmap() {     var mapoptions = {       center: new google.maps.latlng(41.3, 2),       zoom: 15     };     var originalmap = new google.maps.map(document.getelementbyid("map-canvas"),         mapoptions);     var bounds = new google.maps.latlngbounds();     var points = [       new google.maps.latlng(41.3, 2),       new google.maps.latlng(41.309, 2)       ];      // extend bounds each point     (var = 0; < points.length; i++) {       bounds.extend(points[i]);       new google.maps.marker({position: points[i], map: originalmap});     }      // apply fitbounds     originalmap.fitbounds(bounds);    }   google.maps.event.adddomlistener(window, 'load', initoriginalmap); //]]>   </script> </h:head>  <h:body >   <div id="map-canvas" style="width:600px;height:400px"/> </h:body> 

to make fitbounds work in primefaces had override again fitbounds property of map original source:

//remember property set primefaces var tmp = map.fitbounds;  //replace code 1 provided google maps api map.fitbounds = google.maps.map.prototype.fitbounds;  //execute fitbounds function this.fitbounds(bounds);  //restore primefaces property (probably primefaces use somehow) this.fitbounds = tmp; 

Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -