调用百度地图JavaScript API:
【APIKEY】换成自己的APIKEY
function extras_scripts() {
wp_enqueue_script( 'map-api', 'http://api.map.baidu.com/api?v=2.0&ak=【APIKEY】', array(), NULL, false );
}
add_action( 'wp_enqueue_scripts', 'extras_scripts' );
短代码部分代码:
/**
* 百度地图.
* [baidumap id=map1 class="am-sm-12" height=350 address=广东省广州市 ]
*/
if ( ! function_exists( 'baidumap' ) ) :
function baidumap($attr) {
$attr['id'] = empty($attr['id']) ? '1' : $attr['id'];
$attr['class'] = empty($attr['class']) ? '' : $attr['class'];
$attr['height'] = empty($attr['height']) ? '300' : $attr['height'];
return '<div id="baidumap-'.$attr['id'].'" class="'.$attr['class'].'" style="height:'.$attr['height'].'px"></div>
<script type="text/javascript">
// 百度地图API功能
addMap("baidumap-'.$attr['id'].'","'.$attr['address'].'");
function addMap(id,addr){
var map = new BMap.Map(id);
var myGeo = new BMap.Geocoder();
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint(addr, function(point){
if (point) {
map.centerAndZoom(point, 18);
map.addOverlay(new BMap.Marker(point));
}
}, "");
// 创建地址解析器实例
var scaleControl = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
scaleControl.setUnit(BMAP_UNIT_METRIC);
map.addControl(scaleControl);
var navControl = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:1});
map.addControl(navControl);
var overviewControl = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:true});
map.addControl(overviewControl);
}
</script>';
}
add_shortcode('baidumap', 'baidumap');
endif;
CSS代码:
/* 百度地图 */
[id*=baidumap-] img{max-width: none;}


