Changeset 287


Ignore:
Timestamp:
03/04/10 03:54:44 (2 years ago)
Author:
takanori
Message:

use createMap(), createMarker() function

Location:
Products.ATGoogleMaps/trunk/Products/ATGoogleMaps/skins/ATGoogleMaps
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • Products.ATGoogleMaps/trunk/Products/ATGoogleMaps/skins/ATGoogleMaps/atgooglemaps.js.dtml

    r285 r287  
    3333var visibleInfoWindow = null; 
    3434 
    35 function createMarker(map, lat, lng, marker_id, title) { 
     35function createMarker(map, lat, lng, marker_id, title, draggable) { 
    3636    var shape = { 
    3737        coord: <dtml-var "gmap_properties.icon_shape">, 
     
    5151    </dtml-with> 
    5252 
     53    if (draggable == null) { 
     54        draggable = false; 
     55    } 
    5356    var marker = new google.maps.Marker({ 
    5457        position: new google.maps.LatLng(lat, lng), 
     
    5760        icon: icon, 
    5861        shadow: shadow, 
    59         shape: shape 
     62        shape: shape, 
     63        draggable: draggable 
    6064    }); 
    6165 
    62     var content = document.getElementById('infowindow_html_' + marker_id).innerHTML; 
    63     var infoWindow = new google.maps.InfoWindow({ 
    64         content: content 
    65     }); 
     66    if (marker_id) { 
     67        var content = document.getElementById('infowindow_html_' + marker_id).innerHTML; 
     68        var infoWindow = new google.maps.InfoWindow({ 
     69            content: content 
     70        }); 
     71        google.maps.event.addListener(marker, 'click', function() { 
     72            if (visibleInfoWindow) { 
     73                visibleInfoWindow.close(); 
     74            } 
     75            infoWindow.open(map, marker); 
     76            visibleInfoWindow = infoWindow; 
     77        }); 
    6678 
    67     google.maps.event.addListener(marker, 'click', function() { 
    68         if (visibleInfoWindow) { 
    69             visibleInfoWindow.close(); 
    70         } 
    71         infoWindow.open(map, marker); 
    72         visibleInfoWindow = infoWindow; 
    73     }); 
    74  
    75     var link = document.getElementById("infowindow_link_" + marker_id); 
    76     link.onclick = function() { 
    77         google.maps.event.trigger(marker, "click"); 
    78     }; 
     79        var link = document.getElementById("infowindow_link_" + marker_id); 
     80        link.onclick = function() { 
     81            google.maps.event.trigger(marker, "click"); 
     82        }; 
     83    } 
    7984 
    8085    return marker; 
  • Products.ATGoogleMaps/trunk/Products/ATGoogleMaps/skins/ATGoogleMaps/gmap.py

    r272 r287  
    66        lng = marker.point['longitude'] 
    77        js.append('  var marker_%s = createMarker(map, %s, %s, "%s", "%s");' % (marker.id, lat, lng, marker.id, marker.title)) 
    8 #      shape: shape, 
    9 #      shadow: shadow, 
    108 
    119# create initialize method 
     
    2725 
    2826return "\n".join(js) 
    29  
    30 # custom marker javascript 
    31 #print """ 
    32 #      url = "%s"; 
    33 #      var image = new google.maps.MarkerImage(url + '/gmap_marker.png', 
    34 #        new google.maps.Size(20, 34), 
    35 #        new google.maps.Point(0,0), 
    36 #        new google.maps.Point(8,34)); 
    37 #      var shadow = new google.maps.MarkerImage(url + '/gmap_shadow.png', 
    38 #        new google.maps.Size(37, 34), 
    39 #        new google.maps.Point(0,0), 
    40 #        new google.maps.Point(9, 34)); 
    41 #      var shape = { 
    42 #        coord: [1, 1, 1, 20, 18, 20, 18 , 1], 
    43 #        type: 'poly' 
    44 #      } 
    45 #""" % context.absolute_url() 
    46  
    47  
  • Products.ATGoogleMaps/trunk/Products/ATGoogleMaps/skins/ATGoogleMaps/gmap_view.pt

    r283 r287  
    3737      <tal:gmarker tal:repeat="marker markers"> 
    3838        <li id="" 
    39             tal:define="mid marker/id; 
    40                         " 
     39            tal:define="mid marker/id;" 
    4140            tal:condition="marker/point | nothing" 
    4241            tal:attributes="id string:infowindow_link_${mid}"> 
  • Products.ATGoogleMaps/trunk/Products/ATGoogleMaps/skins/ATGoogleMaps/gmarker.dtml

    r265 r287  
    11<script type="text/javascript"> 
    22function initialize() { 
    3   var latlng = new google.maps.LatLng(<dtml-var "context.point['latitude']">, <dtml-var "context.point['longitude']">); 
    4   var myOptions = { 
    5     zoom: 14, 
    6     center: latlng, 
    7     mapTypeId: google.maps.MapTypeId.ROADMAP, 
    8     mapTypeControl: false, 
    9     navigationControl: false 
    10   }; 
    11   var map = new google.maps.Map(document.getElementById("map"), myOptions); 
    12   var marker = new google.maps.Marker({ 
    13     position: latlng, 
    14     map: map 
    15   }); 
     3  var lat = <dtml-var "context.point['latitude']">; 
     4  var lng = <dtml-var "context.point['longitude']">; 
     5  var map = createMap("map", lat, lng, 14, "ROADMAP", "hide", "hide"); 
     6  var marker = createMarker(map, lat, lng, null, null, false); 
    167} 
    178google.maps.event.addDomListener(window, "load", initialize); 
  • Products.ATGoogleMaps/trunk/Products/ATGoogleMaps/skins/ATGoogleMaps/latlng_map.dtml

    r286 r287  
    66 
    77function initialize() { 
    8   map = createMap("map_canvas", &dtml-latitude;, &dtml-longitude;, &dtml-zoom;, "ROADMAP", "DROPDOWN_MENU"); 
    9  
    10   marker = new google.maps.Marker({ 
    11     position: new google.maps.LatLng(&dtml-latitude;, &dtml-longitude;), 
    12     map: map, 
    13     draggable: true 
    14   }); 
     8  var lat = &dtml-latitude;; 
     9  var lng = &dtml-longitude;; 
     10  map = createMap("map_canvas", lat, lng, &dtml-zoom;, "ROADMAP", "DROPDOWN_MENU"); 
     11  marker = createMarker(map, lat, lng, null, null, true); 
    1512 
    1613  google.maps.event.addListener(map, 'dblclick', function(event) { 
Note: See TracChangeset for help on using the changeset viewer.