/******************************************************************************* * KindEditor - WYSIWYG HTML Editor for Internet * Copyright (C) 2006-2011 kindsoft.net * * @author Roddy * @site http://www.kindsoft.net/ * @licence http://www.kindsoft.net/license.php *******************************************************************************/ // Baidu Maps: http://dev.baidu.com/wiki/map/index.php?title=%E9%A6%96%E9%A1%B5 KindEditor.plugin('baidumap', function (K) { var self = this, name = 'baidumap', lang = self.lang(name + '.'); var mapWidth = K.undef(self.mapWidth, 558); var mapHeight = K.undef(self.mapHeight, 360); self.clickToolbar(name, function () { var html = ['
', '
', // left start '
', lang.address + ' ', '', '', '', '
', // right start '
', ' ', '
', '
', '
', '
', '
'].join(''); var dialog = self.createDialog({ name: name, width: mapWidth + 42, title: self.lang(name), body: html, yesBtn: { name: self.lang('yes'), click: function (e) { var map = win.map; var centerObj = map.getCenter(); var center = centerObj.lng + ',' + centerObj.lat; var zoom = map.getZoom(); var url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage', '?center=' + encodeURIComponent(center), '&zoom=' + encodeURIComponent(zoom), '&width=' + mapWidth, '&height=' + mapHeight, '&markers=' + encodeURIComponent(center), '&markerStyles=' + encodeURIComponent('l,A')].join(''); if (checkbox[0].checked) { self.insertHtml(''); } else { self.exec('insertimage', url); } self.hideDialog().focus(); } }, beforeRemove: function () { searchBtn.remove(); if (doc) { doc.write(''); } iframe.remove(); } }); var div = dialog.div, addressBox = K('[name="address"]', div), searchBtn = K('[name="searchBtn"]', div), checkbox = K('[name="insertDynamicMap"]', dialog.div), win, doc; var iframe = K(''); function ready() { win = iframe[0].contentWindow; doc = K.iframeDoc(iframe); } iframe.bind('load', function () { iframe.unbind('load'); if (K.IE) { ready(); } else { setTimeout(ready, 0); } }); K('.ke-map', div).replaceWith(iframe); // search map searchBtn.click(function () { win.search(addressBox.val()); }); }); });