Вход Регистрация
Файл: plugins/google_map_location/static/js/map.js
Строк: 311
<?php
window
.PEEP_GoogleMap = function($, google)
{
    return function( 
elementId )
    {
        var 
self this;

        var 
geocoder;
        var 
map;
        var 
marker = {};
        var 
infowindow = {};
        var 
infowindowState = [];
        var 
markerCluster null;
        var 
lastBounds null;

        var 
mapElementId elementId;
        
this.initialize = function(options)
        {
            var 
params options;

            if( !
params )
            {
                var 
latlng = new google.maps.LatLng(00);

                
params = {
                    
zoom2,
                    
minZoom2,
                    
centerlatlng,
                    
mapTypeIdgoogle.maps.MapTypeId.ROADMAP,
                    
disableDefaultUIfalse,
                    
draggablefalse,
                    
mapTypeControlfalse,
                    
overviewMapControlfalse,
                    
panControlfalse,
                    
rotateControlfalse,
                    
scaleControlfalse,
                    
scrollwheelfalse,
                    
streetViewControlfalse,
                    
zoomControl:false
                
};
            }

            
map = new google.maps.Map(document.getElementById(mapElementId), params);

            
//geocoder = new google.maps.Geocoder();
        
}

        
this.getMap = function()
        {
            return 
map;
        }

        
this.setCenter = function(latlon)
        {
            var 
latlng = new google.maps.LatLng(latlon);
            
map.setCenter(latlng);
        }

        
this.setZoom = function(zoom)
        {
            
map.setZoom(zoom);
        }
        
        
this.setOptions = function(options)
        {
            
map.setOptions(options);
        }

        
this.fitBounds = function(bounds)
        {
            
lastBounds bounds;
            
map.fitBounds(bounds);
        }
        
        
this.resetLastBounds = function(bounds)
        {
            if ( 
lastBounds )
            {
                
map.fitBounds(lastBounds);
            }
        }

        
this.getBounds = function()
        {
            return 
map.getBounds();
        }

        
this.removeAllPoints = function()
        {            
            $.
each(marker, function(key,m){
                if ( 
)
                {
                    if ( 
markerCluster )
                    {
                        
markerCluster.removeMarker_(m);
                    }
                    
m.setMap(null);
                }
            })
            
marker = {};
            
infowindow = {};
            
infowindowState = {};
        }

        
this.addPoint = function(latlontitlewindowContentisOpencustomMarkerIconUrl)
        {
            var 
markerParams = {
                
//map: map
                //draggable: false
                //optimized: true
            
}
            
            if ( 
customMarkerIconUrl )
            {
                
markerParams.icon customMarkerIconUrl;
            }
            
            
marker[lat ' ' lon] = new google.maps.Marker(markerParams);

            var 
latlng = new google.maps.LatLng(latlon);
            
marker[lat ' ' lon].setPosition(latlng);

            if ( 
title )
            {
                
marker[lat ' ' lon].setTitle(title);
            }

            if ( 
windowContent )
            {
               
infowindow[lat ' ' lon] = new InfoBubble({
                    
contentwindowContent,
                    
shadowStyle0,
                    
padding9,
                    
backgroundColor'#fff',
                    
borderRadius4,
                    
arrowSize10,
                    
maxHeight350,
                    
borderWidth'4px',
                    
borderColor'#fff',
                    
disableAutoPanfalse,
                    
hideCloseButtonfalse,
                    
arrowPosition25,
                    
arrowStyle0,
                    
borderWidth0
                
});

                
//infowindow[lat + ' ' + lon].setContent(windowContent);

                
infowindowState[lat ' ' lon] = false;
                
                if ( 
isOpen )
                {
                    
infowindow[lat ' ' lon].open(mapmarker[lat ' ' lon]);
                    
infowindowState[lat ' ' lon] = true;
                }

                    
google.maps.event.addListener(marker[lat ' ' lon], 'click', function() {
                    if( 
infowindowState[lat ' ' lon] )
                    {
                        
infowindow[lat ' ' lon].close();
                        
infowindowState[lat ' ' lon] = false;
                    }
                    else
                    {
                        
infowindow[lat ' ' lon].open(mapmarker[lat ' ' lon]);
                        
infowindowState[lat ' ' lon] = true;
                        
                        $.
eachinfowindow, function( keyvalue ) {
                            if ( 
value )
                            {
                                if ( 
key != lat ' ' lon )
                                {
                                    
value.close();
                                    
infowindowState[key] = false;
                                }
                            }
                        } );
                    }
                });

                
google.maps.event.addListener(infowindow[lat ' ' lon], 'closeclick', function() {
                    if( 
infowindowState[lat ' ' lon] )
                    {
                        
infowindow[lat ' ' lon].close();
                        
infowindowState[lat ' ' lon] = false;
                    }
                });
            }
        }

        
this.resize = function()
        {
            
google.maps.event.trigger(map'resize');
        }
        
        
this.createMarkerCluster = function()
        {
            
markerCluster = new MarkerClusterer(mapmarker);
        }
        
        
this.displaySearchInput = function()
        {

            var 
centerControlDiv document.createElement('div');
            var 
input = $("<div class='googlelocation_map_search_input_icon'>" 
                    
"<span class='googlelocation_map_search_pin ic_googlelocation_map_search_pin'></span>" +
                
"</div>" 
            
"<input type='text' class='googlelocation_map_search_input googlelocation_map_search_input_hide' />");
            
            var 
searchDiv = $(centerControlDiv);
            
            
searchDiv.addClass("googlelocation_map_search_input_div").append(input);
            
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(centerControlDiv);
            
            var 
autocomplite = $(centerControlDiv).find("input.googlelocation_map_search_input");
            var 
icon_div = $(centerControlDiv).find(".googlelocation_map_search_input_icon");
            var 
icon_span icon_div.find("span");
            
            var 
geocoder = new google.maps.Geocoder();
            
            var 
data autocomplite.autocomplete({
                
delay250,
                
matchContainstrue,

                
source: function (requestresponse) {
                    
icon_span.removeClass('ic_googlelocation_map_search_pin');
                    
icon_span.addClass('peep_inprogress');

                    var 
geocoderParams = {
                        
'address'request.term
                    
}

                    
geocoder.geocode(geocoderParams, function (resultsstatus) {

                        
icon_span.removeClass('peep_inprogress');
                        
icon_span.addClass('ic_googlelocation_map_search_pin');

                        
response($.map(results.slice(05), function (item) {
                            return {
                                
labelitem.formatted_address,
                                
valueitem.formatted_address,
                                
itemitem
                            
}
                        }));
                    })
                },
                
select: function (eventui) {
                    
map.fitBounds(ui.item.item.geometry.viewport);
                }
            }).
data("ui-autocomplete");
            
            
data._resizeMenu = function() {
                    
this.menu.element.outerWidthautocomplite.outerWidth() );
                    $(
this.menu.element).addClass("googlelocation_map_search_menu");
            };
            
            var 
func data._renderItem;
            
data._renderItem = function( ulitem ) {
                var 
element func(ulitem);
                
element.find("a").prepend("<span class='ic_googlelocation_menu_item_pin'>");
                return 
element;
            };
        }
    }
}(
locationJqueygoogle);

var 
PEEP_GoogleMap window.PEEP_GoogleMap;
?>
Онлайн: 0
Реклама