* Fires when OverlayView Draw
* @param {Roo.bootstrap.LocationPicker} this
*/
- OverlayViewHide : true
+ OverlayViewHide : true,
+ /**
+ * @event loadexception
+ * Fires when load google lib failed.
+ * @param {Roo.bootstrap.LocationPicker} this
+ */
+ loadexception : true
});
};
initial: function()
{
+ if(typeof(google) == 'undefined' || typeof(google.maps) == 'undefined'){
+ this.fireEvent('loadexception', this);
+ return;
+ }
+
if(!this.mapTypeId){
this.mapTypeId = google.maps.MapTypeId.ROADMAP;
}
getGmapContext: function()
{
- return this.gMapContext
+ return (typeof(this.gMapContext) == 'undefined') ? false : this.gMapContext;
},
GMapContext: function()
{
- var _map = new google.maps.Map(this.el.dom, this);
+ var position = new google.maps.LatLng(this.latitude, this.longitude);
+
+ var _map = new google.maps.Map(this.el.dom, {
+ center: position,
+ zoom: this.zoom,
+ mapTypeId: this.mapTypeId,
+ mapTypeControl: this.mapTypeControl,
+ disableDoubleClickZoom: this.disableDoubleClickZoom,
+ scrollwheel: this.scrollwheel,
+ streetViewControl: this.streetViewControl,
+ locationName: this.locationName,
+ draggable: this.draggable,
+ enableAutocomplete: this.enableAutocomplete,
+ enableReverseGeocode: this.enableReverseGeocode
+ });
+
var _marker = new google.maps.Marker({
- position: new google.maps.LatLng(this.latitude, this.longitude),
+ position: position,
map: _map,
title: this.markerTitle,
draggable: this.draggable
map: _map,
marker: _marker,
circle: null,
- location: _marker.position,
+ location: position,
radius: this.radius,
locationName: this.locationName,
addressComponents: {
setPosition: function(location)
{
- Roo.log('set position');
this.gMapContext.location = location;
-// this.gMapContext.marker.setPosition(location);
+ this.gMapContext.marker.setPosition(location);
this.gMapContext.map.panTo(location);
this.drawCircle(location, this.gMapContext.radius, {});