Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function($) {
- $.fn.sightMap = function(options) {
- // define defaults
- var defaults = {
- center: [0, 0],
- zoom: 8,
- sights: []
- };
- // merge with plugin-params, fall back to defaults
- var settings = $.extend(defaults, options);
- return this.each(function() {
- var $this = $(this);
- $this.data('settings', settings);
- var myOptions = {
- zoom: settings.zoom,
- center: new google.maps.LatLng(settings.center[0], settings.center[1]),
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- // init GMap
- var map = new google.maps.Map(this, myOptions);
- $this.data('map', map);
- map.markers = [];
- var markerImage = new google.maps.MarkerImage('images/marker_sprite.png', new google.maps.Size(20, 34), new google.maps.Point(0, 0));
- var markerShadow = new google.maps.MarkerImage('images/marker_sprite.png', new google.maps.Size(29, 34), new google.maps.Point(29, 16), new google.maps.Point(0, 20));
- $.each(sights, function() {
- var marker = new google.maps.Marker({
- position: new google.maps.LatLng(this.position[0], this.position[1]),
- map: map,
- title: this.title,
- icon: markerImage,
- shadow: markerShadow
- });
- var link = (!this.link || !this.linkText) ? '<p style="text-align: center;"><a href="' + this.link + '">' + this.linkText + '</a></p>' : ''
- marker.infowindow = new google.maps.InfoWindow({
- content: '<h1>' + this.title + '</h1><p>' + this.text + '</p>' + link
- });
- google.maps.event.addListener(marker, 'click', function() {
- this.infowindow.open(map, this);
- });
- map.markers.push(marker);
- });
- });
- }
- })(jQuery);
Add Comment
Please, Sign In to add comment