Я раскручиваю свои шины, когда начинаю создавать плагин jQuery для Google Maps v3.Я прочитал: «Шаблон разработки плагинов» , Плагины / авторинг и просмотрел несколько плагинов для v2, но я застрял в том, как правильно инициализировать карту,чтобы я мог достичь этих трех целей:
- Создавать новую карту можно только в том случае, если ее нет в выбранном элементе.
- Разрешить сцепление на любой существующей карте.
- Иметь методы, вызываемые на объекте (например,
$.gmap.method()
вместо $.gmap('method')
).
Извините, если это плохо сформулировано, но в основном я хочу обертку вокруг объекта Map, чтобы я мог гораздо быстрее создавать Google Карты с подобными данными.
Вотчто у меня так далеко:
(function ($) {
$.fn.gmap = function(options) {
var opts = $.extend({}, $.fn.gmap.defaults, options);
return this.each(function(){
$gmap = new google.maps.Map(this, opts);
return $gmap;
});
};
$.fn.gmap.go = function(){
return this.setCenter(new google.maps.LatLng(10,10));
};
$.fn.gmap.defaults = {
zoom: 2,
center: new google.maps.LatLng(0,0),
mapTypeId: google.maps.MapTypeId.TERRAIN
};
})(jQuery);
$('map_canvas').gmap();
Извините, я знаю, что это не очень далеко, но в основном, если кто-то может просто подтолкнуть меня через край, где пытается позвонить $('map_canvas').gmap().go()
или $('map_canvas').gmap.go()
чтобы позвонить Map.setCenter()
и не создавать новый экземпляр, тогда я смогу поработать с остальными.
PS, если кто-нибудь уже написал плагин, подобный этому, указывая, что было бы еще лучше.
PSS Я уже заказал Руководство для начинающих по разработке плагинов jQuery , но я действительно предпочел бы начать работу с ним до его доставки.Другие рекомендуемые материалы приветствуются.
Спасибо за любую помощь.