【文件属性】:
文件名称:百度地图API调用_实现百度地图动态搜索、静态地图动态插入
文件大小:2KB
文件格式:RAR
更新时间:2014-08-06 09:00:50
百度map,百度map API,百度地图
百度map,百度map API,百度地图
实现百度地图动态搜索、静态地图动态插入
mygw@163.com
js 内容如下:
/**
加载地图的主控类
*/
var MapControl={
staticWith : 512,//链接静态图宽度
staticHeight : 320,//链接静态图的高度
container : 'mapcontainer',//显示map的节点id
defzoom:12,//默认缩放比例
map : '',
marker : '',
city : '深圳',
infoWinContent : '请移动此标记到您的婚礼地点位置!',
/**
提示信息窗内容
*/
infoOpts : {
width : 100, // 信息窗口宽度
height: 50, // 信息窗口高度
title : "提示:" // 信息窗口标题
},
/**
*默认显示窗口
*/
defWindow : function(){
this.map = new BMap.Map(this.container);
this.map.centerAndZoom(this.city,this.defzoom); // 通过城市名初始化地图
this.map.addEventListener("load", function(){
// 初始化方法执行完成后即可获取地图中心点信息
MapControl.marker = new BMap.Marker( this.getCenter()); // 创建标注
this.addOverlay(MapControl.marker ); // 将标注添加到地图中
MapControl.marker.enableDragging();
var infoWindow = new BMap.InfoWindow(MapControl.infoWinContent, MapControl.infoOpts); // 创建信息窗口对象
MapControl.marker.addEventListener("mouseover", function(){
this.openInfoWindow(infoWindow); // 打开信息窗口
})
MapControl.marker.addEventListener("mouseout", function(){
this.closeInfoWindow(); // 打开信息窗口
})
})
//map 增加操作
this.map.addControl(new BMap.NavigationControl());
this.map.addControl(new BMap.ScaleControl());
this.map.addControl(new BMap.OverviewMapControl());
this.map.addControl(new BMap.MapTypeControl());
},
/**
* 搜索地址
*/
search : function(address){
if(this.map=='' || this.map == 'undefined' || address=='' ){
return ;
}
this.city=address;
this.defWindow();
},
/**
* 获取静态图片地址
*/
getStaticMap : function(){
if(this.map=='' || this.map == 'undefined' || this.marker=='' ){
return ;
}
var center=this.map.getCenter().lng+','+this.map.getCenter().lat;
var markers= this.marker.getPosition().lng+','+this.marker.getPosition().lat;
var zoom=this.map.getZoom();
var staticmapstr= 'http://api.map.baidu.com/staticimage?center='+center+'&markers='+markers+'&zoom='+zoom+'&width='+this.staticWith+'&height='+this.staticHeight;
return staticmapstr;
},
/**
* 测试图片地址
*/
testStaticMap : function(){
var testiframe=document.getElementById("testiframe");
if( testiframe=="undefined" || testiframe==null || testiframe.src=="undefined"){
return ;
}
testiframe.src=this.getStaticMap();
testiframe.width=this.staticWith;
testiframe.height=this.staticHeight;
},
/**
* 绑定 Event
*/
bindEvent : function(){
//binding mapsearch
var mapsearch=document.getElementById("mapsearch");
mapsearch.onclick=function(){
var address=document.getElementById("address").value;
if(address=="undefined" || address==""){
alert("请输入地址,再进行搜索!");
return ;
}
MapControl.search(address);
}
//binding addMap
var mapsearch=document.getElementById("addMap");
mapsearch.onclick=function(){
MapControl.testStaticMap();
}
},
/**
* initMap
*/
initMap : function(){
this.bindEvent();
this.defWindow();
}
}
【文件预览】:
作者QQ349566018或邮箱mygw@13.com.txt
MapControl.js
baidumap.html
网友评论
- 谢谢lz分享~~~
- 不错,可以使用。
- 功能很完善,正是我想要的
- 很有用的例子
- 挺好,正好项目中用到。 很好的的资源
- 不错,可以使用。
- 可以用,好东西来的,谢谢!
- 很好,代码可以使用,对初学者很有参考价值
- 还不错,值得学习学习
- 还行 挺好的
- 挺好,正好项目中用到。 很好的的资源
- 还不错,可以
- 不错,很好。
- 谢谢,学习中,对我有用,呵
- 还可以,拿来学习下还是可以的
- 挺好的,可以用
- 静态的只能够学习
- 资源不错,注释也很详尽,很适合初学者进行研究学习
- 参考了下,有点简单
- 可以使用,在VS2008中可以用浏览器类调用它
- 很好用的一个东西
- 看着学习学习,不错,谢谢
- 例子很好,我做过
- 挺好的,可以用
- 还可以,拿来学习下还是可以的
- 官方例子,还行吧!
- 基本上就是官方的例子,在官网上看也是一样的。。。
- 这也不错 再参考一下百度官网API
- 内容比较少
- 可以用,简单的示例