1 <& /elements/header-popup.html, {
4 etc => 'onload="html_googlemaps_initialize()"',
13 my $name = js_string( scalar($cgi->param('name')) );
15 my $point = [ map scalar($cgi->param($_)), qw( longitude latitude ) ];
17 my( $head, $map_div ) = onload_render(
19 map scalar($cgi->param($_)), qw( lat lon )
22 #false laziness w/Mason.pm
25 $string =~ s/(['\\])/\\$1/g;
26 $string =~ s/\r/\\r/g;
27 $string =~ s/\n/\\n/g;
28 $string = "'". $string. "'";
32 #subroutines below derived from HTML::GoogleMapsV3, but without using
33 #Geo::Coder::Google or GPS::Point
37 my( $name, $latitude, $longitude ) = @_;
39 #map_canvas { height: 100% }
42 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
43 <style type="text/css">
45 body { height: 100%; margin: 0px; padding: 0px }
46 #map_canvas { height: 100% }
48 <script type="text/javascript" src="https://maps.google.com/maps/api/js?libraries=panoramio,geometry&v=3.4&sensor=false">
50 <script type="text/javascript">
52 function html_googlemaps_initialize() {
53 var latlng = new google.maps.LatLng(' .$latitude . ',' . $longitude . ');
58 mapTypeId: google.maps.MapTypeId.ROADMAP
61 map = new google.maps.Map(document.getElementById("map_canvas"),
64 map.setOptions( {rotateControl : true });
69 ##our own hacked in code for displaying a marker at the center
76 var marker = new google.maps.Marker(markerOptions);
79 ## if( defined $self->{polyline} ) {
80 ## foreach my $polyline ( keys %{$self->{polyline}} ) {
81 ## $header .= $self->{polyline}->{$polyline} . "\n";
89 #my $div = '<div id="map_canvas" style="width:80%; height:75%"></div>';
90 my $div = '<div id="map_canvas" style="width:100%; height:100%"></div>';
95 panoramioLayer = new google.maps.panoramio.PanoramioLayer();
97 function panoramioOn(){
98 panoramioLayer.setMap(map);
100 function panoramioOff() {
101 panoramioLayer.setMap(null);
104 function panoramioToggle() {
105 if( panoramioLayer.getMap() == null ) {
116 return ($header,$div)