<input type="hidden" class="gllpLatitude" id="map_lat">
<input type="hidden" class="gllpLongitude" id="map_lon">
<input type="hidden" class="gllpElevation" id="map_alt">
- <input type="hidden" class="gllpZoom" id="map_zoom" value="12">
+ <input type="hidden" class="gllpZoom" id="map_zoom">
<div class="gllpMap"></div>
</fieldset>
<br/>
var container = $('#latlonpicker');
var map = gMapsLatLonPickerState['latlonpicker'].vars.map;
- var lat = $('#latitude');
- var lon = $('#longitude');
- var alt = $('#altitude');
- $('#map_lat').val(lat.val());
- $('#map_lon').val(lon.val());
- $('#map_alt').val(alt.val());
- $(document).trigger('gllp_update_fields');
-
$(document).on('location_changed', function(ev, obj) {
lat.val($('#map_lat').val());
lon.val($('#map_lon').val());
$(document).trigger('gllp_update_fields');
}
});
+
+ // load initial values
+ var lat = $('#latitude');
+ var lon = $('#longitude');
+ var alt = $('#altitude');
+ if (lat.val() && lon.val()) {
+ $('#map_lat').val(lat.val());
+ $('#map_lon').val(lon.val());
+ $('#map_alt').val(alt.val());
+ $('#map_zoom').val(12);
+ } else {
+ // uh. North America? that's where Map::Splat works right now.
+ $('#map_lat').val(54.5259614);
+ $('#map_lon').val(-105.25511870000003);
+ $('#map_zoom').val(3);
+ }
+ $(document).trigger('gllp_update_fields');
+
});
</script>
}
};
+var dblclickHandler = function(ev) {
+ // do everything as for single click
+ clickHandler(ev);
+ // plus zoom to the feature
+ var feature = ev.feature;
+ if (feature.getGeometry().getType() == 'Point') {
+ map.setCenter(feature.getGeometry().get());
+ map.setZoom(12);
+ }
+};
+
var zoomLayer = function(layer) {
// takes a google.maps.Data object
var bounds = new google.maps.LatLngBounds;
tower_data.addGeoJson(<% encode_json($tower_data) %>);
tower_data.setStyle(markerStyle);
tower_data.addListener('click', clickHandler);
+tower_data.addListener('dblclick', dblclickHandler);
var towernums = <% encode_json(\@towernums) %>;
var tower_svc_data = {};