diff options
author | Mark Wells <mark@freeside.biz> | 2016-10-05 16:11:27 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2016-10-05 16:11:27 -0700 |
commit | 08088516109297c4a5bb787dba6a31f4338b01f0 (patch) | |
tree | 5d03b533d2039201299eb3ca73c4450f574754d0 | |
parent | 07a1441c0fbce0a6ec76c7821e440444b4aec4f8 (diff) |
minor map tweaks37802
-rw-r--r-- | httemplate/elements/mapselect.html | 28 | ||||
-rwxr-xr-x | httemplate/search/tower-map.html | 12 |
2 files changed, 31 insertions, 9 deletions
diff --git a/httemplate/elements/mapselect.html b/httemplate/elements/mapselect.html index 7d1447f..95c96ca 100644 --- a/httemplate/elements/mapselect.html +++ b/httemplate/elements/mapselect.html @@ -21,7 +21,7 @@ my %opt = @_; <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/> @@ -32,14 +32,6 @@ $(function() { 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()); @@ -68,5 +60,23 @@ $(function() { $(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> diff --git a/httemplate/search/tower-map.html b/httemplate/search/tower-map.html index 4460db8..559d83d 100755 --- a/httemplate/search/tower-map.html +++ b/httemplate/search/tower-map.html @@ -77,6 +77,17 @@ var clickHandler = function(ev) { } }; +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; @@ -97,6 +108,7 @@ var tower_data = new google.maps.Data; 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 = {}; |