Changeset 12719


Ignore:
Timestamp:
12/11/11 20:55:04 (8 years ago)
Author:
rvelices
Message:

rv_gmaps can show now different markers based on number of photos at the location

Location:
extensions/rv_gmaps/trunk
Files:
2 added
16 edited

Legend:

Unmodified
Added
Removed
  • extensions/rv_gmaps/trunk/admin/admin_config.tpl

    r12700 r12719  
    4747  <li> 
    4848  <label> 
    49     Marker image: 
     49    Marker style: 
    5050    <select name="marker_icon"> 
    5151      <option value="">Default</option> 
  • extensions/rv_gmaps/trunk/changelog.txt

    r12706 r12719  
    33- fix some bad markers not showing (google removed some images from their servers) 
    44- added some new marker icons 
     5- markers can have different shape depending on the number of pictures 
    56- full migration to maps api v3 
    67 
  • extensions/rv_gmaps/trunk/include/cluster_maker.php

    r3447 r12719  
    33function cluster_area_compare( &$a, &$b ) 
    44{ 
    5         $aa = bounds_lat_range($a['bounds']) * bounds_lon_range($a['bounds']); 
    6         $ab = bounds_lat_range($b['bounds']) * bounds_lon_range($b['bounds']); 
     5        $aa = bounds_lat_range($a->bounds) * bounds_lon_range($a->bounds); 
     6        $ab = bounds_lat_range($b->bounds) * bounds_lon_range($b->bounds); 
    77        return -$aa+$ab; // biggest first 
     8} 
     9 
     10final class Cluster 
     11{ 
     12        public $bounds; 
     13        public $items; 
     14 
     15        function __construct($b = array(), $i = array()) 
     16        { 
     17                $this->bounds = $b; 
     18                $this->items = $i; 
     19        } 
    820} 
    921 
     
    3042                        $this->bounds = bounds_add($this->bounds, $img['lat'], $img['lon'] ); 
    3143 
    32                 $pending_split = array( 
    33                                 array( 
    34                                         'bounds' => $this->bounds, 
    35                                         'items' => array_keys( $this->_image_map ), 
    36                                 ) 
    37                         ); 
     44                $pending_split = array( new Cluster($this->bounds, array_keys($this->_image_map) ) ); 
    3845                $result = array(); 
    3946 
     
    5158                                        foreach( $splitted as $k => $split ) 
    5259                                                echo("sub $k: " . var_export($split['bounds'],true)."\n" );*/ 
    53                                         $total_iterations += count($current['items']); 
     60                                        $total_iterations += count($current->items); 
    5461                                        $next_level_to_split = array_merge($next_level_to_split, $splitted ); 
    5562                                        if ( count($result)+count($pending_split)+count($next_level_to_split) >= $maxNbMarkers ) 
     
    6673                        usort( $pending_split, 'cluster_area_compare' ); 
    6774                } 
     75 
    6876                $merged = $this->_try_merge_clusters( $result, $maxLatPrecision, $maxLonPrecision ); 
    6977                $this->debug_str = get_elapsed_time($start, get_moment()) .' gen:'.$total_generations.' alg:'.count($this->_image_map).'+'.$total_iterations; 
     
    7987                for ($i=0; $i<count($clusters)-1; $i++) 
    8088                { 
    81                         $ci = bounds_center( $clusters[$i]['bounds'] ); 
     89                        $ci = bounds_center( $clusters[$i]->bounds ); 
    8290                        for ($j=$i+1; $j<count($clusters); $j++) 
    8391                        { 
    84                                 $cj = bounds_center( $clusters[$j]['bounds'] ); 
    85                                 if ( abs($ci['lat']-$cj['lat']) < $maxLatPrecision/2 
    86                                         and abs($ci['lon']-$cj['lon']) < $maxLonPrecision/2 ) 
     92                                $cj = bounds_center( $clusters[$j]->bounds ); 
     93                                $rlat = abs($ci['lat']-$cj['lat']) / $maxLatPrecision; 
     94                                $rlon = abs($ci['lon']-$cj['lon']) / $maxLonPrecision; 
     95                                if ( $rlat<1 && $rlon<1  
     96                                                && $rlat+$rlon<1.1) 
    8797                                { 
    8898                                        //print_r( "i=$i; j=$j \n"); var_export( $clusters[$i]['bounds'] ); var_export( $clusters[$j]['bounds'] ); 
    89                                         $clusters[$i]['items'] = array_merge( $clusters[$i]['items'], $clusters[$j]['items'] ); 
     99                                        $clusters[$i]->items = array_merge( $clusters[$i]->items, $clusters[$j]->items ); 
    90100                                        if ( empty($this->_image_ranks) ) 
    91101                                                $this->_image_ranks = array_flip( array_keys($this->_image_map) ); 
    92                                         usort( $clusters[$i]['items'], array($this, '_image_rank_compare') ); 
    93                                         $clusters[$i]['bounds'] = bounds_union($clusters[$i]['bounds'], $clusters[$j]['bounds'] ); 
     102                                        usort( $clusters[$i]->items, array($this, '_image_rank_compare') ); 
     103                                        $clusters[$i]->bounds = bounds_union($clusters[$i]->bounds, $clusters[$j]->bounds ); 
    94104                                        array_splice( $clusters, $j, 1); 
    95105                                        $j--; 
    96                                         $ci = bounds_center( $clusters[$i]['bounds'] ); 
     106                                        $ci = bounds_center( $clusters[$i]->bounds ); 
    97107                                        $ret++; 
    98108                                } 
     
    109119        function _split_cluster($cluster, $maxLatPrecision, $maxLonPrecision) 
    110120        { 
    111                 $latRange = bounds_lat_range($cluster['bounds']); 
    112                 $lonRange = bounds_lon_range($cluster['bounds']); 
     121                $latRange = bounds_lat_range($cluster->bounds); 
     122                $lonRange = bounds_lon_range($cluster->bounds); 
    113123 
    114124                $lat_nb_tiles = max( 1, $latRange/$maxLatPrecision ); 
     
    146156                } 
    147157 
    148                 if ( $cluster['bounds']['count'] > 200 ) 
     158                if ( $cluster->bounds['count'] > 200 ) 
    149159                { 
    150160                        if ($lat_step>4*$maxLatPrecision) $lat_step = $lat_step/2; 
     
    159169 
    160170                $clusters = array(); 
    161                 foreach ( $cluster['items'] as $id ) 
     171                foreach ( $cluster->items as $id ) 
    162172                { 
    163173                        $lon = $this->_image_map[$id]['lon']; 
    164174                        $lat = $this->_image_map[$id]['lat']; 
    165175 
    166                         $idx_lon = floor ( ( $lon - $cluster['bounds']['w'] ) / $lon_step ); 
    167                         $idx_lat = floor ( ( $lat - $cluster['bounds']['s'] ) / $lat_step ); 
     176                        $idx_lon = floor ( ( $lon - $cluster->bounds['w'] ) / $lon_step ); 
     177                        $idx_lat = floor ( ( $lat - $cluster->bounds['s'] ) / $lat_step ); 
    168178 
    169179                        $idx = $lon_nb_tiles * $idx_lat + $idx_lon; 
     
    171181                        if ( !isset($clusters[$idx]) ) 
    172182                        { 
    173                                 $clusters[$idx] = array( 
    174                                         'bounds'  => array(), 
    175                                         'items'   => array(), 
    176                                         ); 
     183                                $clusters[$idx] = new Cluster(); 
    177184                        } 
    178                         array_push( $clusters[$idx]['items'], $id ); 
    179                         $clusters[$idx]['bounds'] = bounds_add( $clusters[$idx]['bounds'] , $lat, $lon ); 
     185                        array_push( $clusters[$idx]->items, $id ); 
     186                        $clusters[$idx]->bounds = bounds_add( $clusters[$idx]->bounds , $lat, $lon ); 
    180187                } 
    181188                return $clusters; 
  • extensions/rv_gmaps/trunk/map.php

    r12698 r12719  
    8484} 
    8585else 
    86   $template->assign('MAP_MARKER_ICON_JS', 'return {}'); 
     86  $template->assign('MAP_MARKER_ICON_JS', 'new PwgSingleStyler()'); 
    8787 
    8888$template->pparse('map'); 
  • extensions/rv_gmaps/trunk/map_data.php

    r12706 r12719  
    122122  if ($i) rvo( ",\n\n" ); 
    123123  rvo( "{" ); 
    124   rvo( 'position: '. jsgm_position( bounds_center($c['bounds']) ) ); 
     124  rvo( 'position: '. jsgm_position( bounds_center($c->bounds) ) ); 
    125125  rvo( ",\n" ); 
    126   rvo( 'bounds: '. jsgm_bounds( $c['bounds'] ) ); 
     126  rvo( 'bounds: '. jsgm_bounds( $c->bounds ) ); 
    127127  rvo( ",\n" ); 
    128   rvo( 'nb_items: '.count($c['items']) ); 
     128  rvo( 'nb_items: '.count($c->items) ); 
    129129  rvo( ",\n" ); 
    130130 
    131   rvo( 'blowup_url: "'.rvm_duplicate_blowup_url(array('box'=>$c['bounds']), array('start') ). '"' ); 
     131  rvo( 'blowup_url: "'.rvm_duplicate_blowup_url(array('box'=>$c->bounds), array('start') ). '"' ); 
    132132  rvo( ",\n" ); 
    133133 
    134134  $max_per_cluster = rvm_get_config_var('nb_images_per_marker',20); 
    135   if ( count($c['items']) >  $max_per_cluster ) 
     135  if ( count($c->items) >  $max_per_cluster ) 
    136136  { 
    137     $c['items'] = array_slice($c['items'], 0, $max_per_cluster); 
     137    $c->items = array_slice($c->items, 0, $max_per_cluster); 
    138138  } 
    139139  rvo( 'items: [' ); 
    140   for ($j=0; $j<count($c['items']); $j++) 
     140  for ($j=0; $j<count($c->items); $j++) 
    141141  { 
    142     $img = $page['items'] [ $c['items'][$j] ]; 
     142    $img = $page['items'] [ $c->items[$j] ]; 
    143143    $img['file'] = basename( $img['path'] ); 
    144144    if (!empty( $img['name'] ) ) 
  • extensions/rv_gmaps/trunk/template/data_handler.js

    r12706 r12719  
    44        this._map = map; 
    55        this._infoWindow = new google.maps.InfoWindow(); 
     6        this.styler = opts.styler; 
    67        this.options = jQuery.fn.extend( 
    78                { 
    8                         markerOptions: {}, 
    99                        show_all_img_src: null 
    1010                } 
     
    6868        if (changed) 
    6969        { 
    70 // BEGIN NEW ****************    
    71                 var markersToRemove=[], clustersToAdd=[], newMarkers=[]; 
     70                var markersToRemove=[], clustersToAdd=[], newMarkers=[], cluster, marker; 
    7271                data.image_clusters.sort( function(a,b) { return PwgDataHandler.cmpll( a.position, b.position); } ); 
    7372                for (i=0; i<data.image_clusters.length; i++) 
    7473                { 
    75                         var cluster = data.image_clusters[i]; 
     74                        cluster = data.image_clusters[i]; 
    7675                        while(this._markers.length) 
    7776                        { 
    78                                 var marker = this._markers[0]; 
     77                                marker = this._markers[0]; 
    7978                                if (PwgDataHandler.cmpll(cluster.position, marker.getPosition()) == 0) 
    8079                                { 
     80                                        marker.setOptions(this.styler.changeStyle(cluster, marker.pwg)); 
    8181                                        marker.pwg = { 
    8282                                                nb_items: cluster.nb_items, 
     
    111111                for (i=0; i<clustersToAdd.length; i++) 
    112112                { 
    113                         var cluster = clustersToAdd[i]; 
    114                         var theTitle = ""; 
    115                         if (cluster.nb_items>1) 
    116                                 theTitle = Localization.fmt1("%d photos", cluster.nb_items); 
    117                         else 
    118                                 theTitle = cluster.items[0].name; 
    119  
    120                         var marker = markersToRemove.pop(); 
     113                        cluster = clustersToAdd[i]; 
     114                         
     115                        var theTitle = (cluster.nb_items>1) ? Localization.fmt1("%d photos", cluster.nb_items) : cluster.items[0].name; 
     116                        marker = markersToRemove.pop(); 
    121117                        if (marker && marker==infoWindowMarker) 
    122118                        { 
     
    129125                        if (!marker) 
    130126                        { 
    131                                 marker = new google.maps.Marker(this.options.markerOptions); 
     127                                marker = new google.maps.Marker(this.styler.getStyle(cluster)); 
    132128                                marker.setPosition(cluster.position); 
    133129                                marker.setTitle(theTitle); 
     
    141137                                marker.setPosition( cluster.position ); 
    142138                                marker.setTitle(theTitle); 
     139                                marker.setOptions(this.styler.changeStyle(cluster, marker.pwg)); 
    143140                        } 
    144141 
     
    161158                this._markers = newMarkers; 
    162159                this._markers.sort( function(a,b) { return PwgDataHandler.cmpll( a.getPosition(), b.getPosition()); } ); 
    163 // END new 
    164                  
    165 /*              var newMarkers = []; 
    166                 var infoWindowMarker = this._infoWindow.getAnchor(); 
    167  
    168                 for (i=0; i<data.image_clusters.length; i++) 
    169                 { 
    170                         var cluster = data.image_clusters[i]; 
    171                         var theTitle = ""; 
    172                         if (cluster.nb_items>1) 
    173                                 theTitle = Localization.fmt1("%d photos", cluster.nb_items); 
    174                         else 
    175                                 theTitle = cluster.items[0].name; 
    176  
    177                         var marker; 
    178                         marker = this._markers.pop(); 
    179                         if (marker && marker==infoWindowMarker) 
    180                         { 
    181                                 marker.setMap(null); 
    182                                 google.maps.event.clearInstanceListeners(marker); 
    183                                 if (document.is_debug) glog('removed marker with infoWindow'); 
    184                                 marker = this._markers.pop(); 
    185                         } 
    186  
    187                         if (!marker) 
    188                         { 
    189                                 marker = new google.maps.Marker(this.options.markerOptions); 
    190                                 marker.setPosition(cluster.position); 
    191                                 marker.setTitle(theTitle); 
    192                                 google.maps.event.addListener( marker, "click", pwgBind(this, this._onMarkerClick, marker) ); 
    193                                 google.maps.event.addListener( marker, "dblclick", pwgBind(this, this._onMarkerDblClick, marker) ); 
    194                         } 
    195                         else 
    196                         { 
    197                                 marker.currentImageIndex=0; 
    198                                 marker.setPosition( cluster.position ); 
    199                                 marker.setTitle(theTitle); 
    200                         } 
    201                         marker.setMap(this._map); 
    202  
    203                         newMarkers.push(marker); 
    204  
    205                         marker.pwg = { 
    206                                 nb_items: cluster.nb_items, 
    207                                 images: cluster.items, 
    208                                 bounds: cluster.bounds, 
    209                                 blowup_url: cluster.blowup_url 
    210                                 }; 
    211                 } 
    212  
    213                 for (i=0; i<this._markers.length; i++) 
    214                 { 
    215                         this._markers[i].setMap(null); 
    216                         google.maps.event.clearInstanceListeners(this._markers[i]); 
    217                 } 
    218 */ 
    219                 this._markers = newMarkers; 
    220160                this._prevResult.nb_items=data.nb_items; 
    221161        } 
  • extensions/rv_gmaps/trunk/template/data_loader.js

    r12706 r12719  
    3737{ 
    3838        this._urlMapData = urlMapData; 
    39         google.maps.event.bind( this._map, "movestart", this, this.clearTimerReloadData ); 
     39        google.maps.event.bind( this._map, "dragstart", this, this.clearTimerReloadData ); 
    4040        google.maps.event.bind( this._map, "idle", this, this._onIdle ); 
    4141        //this._loadData(); 
     
    102102         
    103103        if (isOver) 
    104                 bounds = new google.maps.LatLngBounds( new google.maps.LatLng(this._map.getBounds().getSouthWest().lat(),-179.9), new google.maps.LatLng(this._map.getBounds().getNorthEast().lat(), 179.9) ); 
     104                bounds = new google.maps.LatLngBounds( new google.maps.LatLng(this._map.getBounds().getSouthWest().lat(),-180), new google.maps.LatLng(this._map.getBounds().getNorthEast().lat(), 179.99) ); 
    105105        //END bug 
    106106         
     
    184184        catch (e)       { 
    185185                this._previousLoadDataReq.box=null; 
    186                 google.maps.event.trigger( this, "dataloadfailed", responseCode, e ); 
     186                google.maps.event.trigger( this, "dataloadfailed", textStatus, e ); 
    187187                var s = e.message; 
    188188                s += '\n' + data.substr(0,1000); 
  • extensions/rv_gmaps/trunk/template/map.tpl

    r12706 r12719  
    1717{combine_script id='rvm.dh' load='header' path="`$PLUGIN_LOCATION`/template/data_handler.js" version=$RVM_PLUGIN_VERSION} 
    1818{combine_script id='rvm.pl' load='header' path="`$PLUGIN_LOCATION`/template/page_linker.js" version=$RVM_PLUGIN_VERSION} 
     19{combine_script id='rvm.st' load='header' path="`$PLUGIN_LOCATION`/template/styler.js" version=$RVM_PLUGIN_VERSION} 
    1920{combine_script id='core.scripts' load='header' path='themes/default/js/scripts.js'} 
    2021 
     
    4041//<![CDATA[ 
    4142var map; 
    42 var geocoder; 
    4343 
    4444document.is_debug = false; 
    4545if ( document.location.search.match(/[\?&]debug/) ) { 
    4646        document.is_debug = true; 
    47         document._window = window; 
    4847} 
    4948 
     
    9796        pwgPageLinker = new PageLinker(map, "aLinkToThisPage" ); 
    9897 
    99         var pwgMarkerOptions = (function(){ {/literal}{$MAP_MARKER_ICON_JS}{literal} }).call(null); 
    100  
    101         map.pwgDataLoader = new PwgDataLoader(map, {rectangle_of_confusion: pwgMarkerOptions.roc} ); 
     98        /*var pwgMarkerOptions = (function(){ {/literal}{$MAP_MARKER_ICON_JS}{literal} }).call(null);*/ 
     99        var pwgStyler = {/literal}{$MAP_MARKER_ICON_JS}{literal}; 
     100 
     101        map.pwgDataLoader = new PwgDataLoader(map, {rectangle_of_confusion: pwgStyler.roc} ); 
    102102        google.maps.event.addListener(map.pwgDataLoader, "dataloading", function() { 
    103103                var pre = '<img src="{/literal}{$PLUGIN_ROOT_URL}{literal}/icons/progress_s.gif" width="16" height="16" alt="~" /> '; 
     
    111111                ); 
    112112 
    113         map.pwgDataHandler = new PwgDataHandler(map, {markerOptions: pwgMarkerOptions, show_all_img_src: "{/literal}{$PLUGIN_ROOT_URL}{literal}/icons/pic_s.gif" } ); 
     113        map.pwgDataHandler = new PwgDataHandler(map, {styler: pwgStyler, show_all_img_src: "{/literal}{$PLUGIN_ROOT_URL}{literal}/icons/pic_s.gif" } ); 
    114114        google.maps.event.addListener(map.pwgDataLoader, "dataloaded", pwgBind(map.pwgDataHandler, map.pwgDataHandler.handle) ); 
    115115 
     
    136136                !map.pwgDataHandler || map.pwgDataHandler.terminate(); 
    137137        } 
    138 } 
    139  
    140 function searchLocation(q) 
    141 { 
    142         if (!q.length) return false; 
    143         if (!geocoder) 
    144                 geocoder = new google.maps.Geocoder(); 
    145         geocoder.geocode(q, function(results, status) { 
    146                 document._geoResponse = results; 
    147                 if ( status == google.maps.GeocoderStatus.OK ) 
    148                 { 
    149                         map.fitBounds( results[0].geometry.viewport ); 
    150                 } 
    151           else 
    152                         alert("This address has not been found\nCode: "+status); 
    153         }); 
    154         return false; 
    155138} 
    156139 
  • extensions/rv_gmaps/trunk/template/markers/medium_gradient_blue.tpl

    r12706 r12719  
    1 return {ldelim} 
    2         rectangle_of_precision: new google.maps.Size(12, 20), 
     1new PwgSingleStyler( {ldelim} 
    32        icon: new google.maps.MarkerImage("{$PLUGIN_ROOT_URL}/template/markers/medium_gradient_blue.png", 
    43                        new google.maps.Size(12, 20), //size 
     
    65                        new google.maps.Point(6, 20) //anchor 
    76                        ) 
    8 } 
     7                        }, 
     8                        new google.maps.Size(12, 20) ) 
     9 
  • extensions/rv_gmaps/trunk/template/markers/medium_gradient_purple.tpl

    r12706 r12719  
    1 return {ldelim} 
    2         rectangle_of_precision: new google.maps.Size(12, 20), 
     1new PwgSingleStyler( {ldelim} 
    32        icon: new google.maps.MarkerImage("{$PLUGIN_ROOT_URL}/template/markers/medium_gradient_purple.png", 
    43                        new google.maps.Size(12, 20), //size 
     
    65                        new google.maps.Point(6, 20) //anchor 
    76                        ) 
    8 } 
     7                        }, 
     8                        new google.maps.Size(12, 20) ) 
     9 
  • extensions/rv_gmaps/trunk/template/markers/medium_gradient_red.tpl

    r12706 r12719  
    1 return {ldelim} 
    2         rectangle_of_precision: new google.maps.Size(12, 20), 
     1new PwgSingleStyler( {ldelim} 
    32        icon: new google.maps.MarkerImage("{$PLUGIN_ROOT_URL}/template/markers/medium_gradient_red.png", 
    43                        new google.maps.Size(12, 20), //size 
     
    65                        new google.maps.Point(6, 20) //anchor 
    76                        ) 
    8 } 
     7                        }, 
     8                        new google.maps.Size(12, 20) ) 
     9 
  • extensions/rv_gmaps/trunk/template/markers/medium_standard_red.tpl

    r12706 r12719  
    1 return {ldelim} 
    2         rectangle_of_precision: new google.maps.Size(12, 20), 
     1new PwgSingleStyler( {ldelim} 
    32        icon: new google.maps.MarkerImage("{$PLUGIN_ROOT_URL}/template/markers/medium_standard_red.png", 
    43                        new google.maps.Size(12, 20), //size 
    54                        new google.maps.Point(0, 0), //origin 
    65                        new google.maps.Point(6, 20) //anchor 
    7                         )/*, 
    8         shadow: "{$PLUGIN_ROOT_URL}/template/markers/medium_standard_shadow.png"*/ 
    9 } 
     6                        ) 
     7                        }, 
     8                        new google.maps.Size(12, 20) ) 
  • extensions/rv_gmaps/trunk/template/markers/small_bullet_orange.tpl

    r12700 r12719  
    1 return {ldelim} 
    2         rectangle_of_precision: new google.maps.Size(11, 11), 
     1new PwgSingleStyler( {ldelim} 
    32        icon: new google.maps.MarkerImage("{$PLUGIN_ROOT_URL}/template/markers/small_bullet_orange.png", 
    4                         new google.maps.Size(11, 11),  
    5                         new google.maps.Point(0, 0), 
    6                         new google.maps.Point(5, 0)) 
    7 } 
     3                        new google.maps.Size(11, 11), //size 
     4                        new google.maps.Point(0, 0), //origin 
     5                        new google.maps.Point(5, 0) //anchor 
     6                        ) 
     7                        }, 
     8                        new google.maps.Size(11, 11) ) 
  • extensions/rv_gmaps/trunk/template/markers/small_bullet_red.tpl

    r12700 r12719  
    1 return {ldelim} 
    2         rectangle_of_precision: new google.maps.Size(11, 11), 
     1new PwgSingleStyler( {ldelim} 
    32        icon: new google.maps.MarkerImage("{$PLUGIN_ROOT_URL}/template/markers/small_bullet_red.png", 
    4                         new google.maps.Size(11, 11),  
    5                         new google.maps.Point(0, 0), 
    6                         new google.maps.Point(5, 5)) 
    7 } 
     3                        new google.maps.Size(11, 11), //size 
     4                        new google.maps.Point(0, 0), //origin 
     5                        new google.maps.Point(5, 0) //anchor 
     6                        ) 
     7                        }, 
     8                        new google.maps.Size(11, 11) ) 
  • extensions/rv_gmaps/trunk/template/markers/small_bullet_yellow.tpl

    r12700 r12719  
    1 return {ldelim} 
    2         rectangle_of_precision: new google.maps.Size(11, 11), 
     1new PwgSingleStyler( {ldelim} 
    32        icon: new google.maps.MarkerImage("{$PLUGIN_ROOT_URL}/template/markers/small_bullet_yellow.png", 
    4                         new google.maps.Size(11, 11),  
    5                         new google.maps.Point(0, 0), 
    6                         new google.maps.Point(5, 5)) 
    7 } 
     3                        new google.maps.Size(11, 11), //size 
     4                        new google.maps.Point(0, 0), //origin 
     5                        new google.maps.Point(5, 0) //anchor 
     6                        ) 
     7                        }, 
     8                        new google.maps.Size(11, 11) ) 
  • extensions/rv_gmaps/trunk/template/picture_map_content.tpl

    r12706 r12719  
    11 
    22{html_head} 
    3 <script src="http://maps.google<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;language={$lang_info.code}" type="text/javascript"></script> 
     3<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;language={$lang_info.code}" type="text/javascript"></script> 
    44{combine_script id='jquery' load='header' path='themes/default/js/jquery.min.js'} 
    55{combine_script id='jquery.nyroModal' load='async' path="`$PLUGIN_LOCATION`/template/nyroModal/jquery.nyroModal-1.6.2.js" version='1.6.2'} 
Note: See TracChangeset for help on using the changeset viewer.