java 接入百度地图api
程序员文章站
2024-02-26 09:48:34
...
先打开接入百度地图API 官网
http://lbsyun.baidu.com/
然后点击 开发者文档 → web服务API
如果是第一次打开 则要填写信息 验证码一堆…
如果已经注册过了,则进入这一步
白名单 是可以限制域名访问,我这里用’*’ 代表所有域名都可以访问
把这串码复制下来
前端样式A
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>坎里德赫列娜</title>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=刚才复制下来的AK码"></script>
</head>
<body>
<input name="address" type="text" id="address" class="inp" style="width: 192px" value=""> <!-- 默认搜索框为空 -->
<input name="precision" type="text" id="latitude" value="108.95309828"/> <!-- 默认精度 -->
<input name="latitude" type="text" id="latitude" value="34.2777999"/> <!-- 默认纬度 -->
<input type="button" value=" 搜索位置 " οnclick="codeAddress()" class="ana">
<div style="width:1400px;height:800px;border:1px solid gray" id="allmap"></div>
<script type="text/javascript">
var map = new BMap.Map("allmap");
//var map = new BMap.Map("allmap", { mapType: BMAP_SATELLITE_MAP });
var point = new BMap.Point(109.503789, 35.860026); // 获取上方默认的经纬度
map.centerAndZoom(point, 14); // 重置地图显示区域
map.enableScrollWheelZoom(); // 启用滚轮放大缩小
//定位
var geolocation = new BMap.Geolocation(); // 创建地址解析器实例
geolocation.getCurrentPosition(function (r) {
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
//mk.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
mk.enableDragging();
//alert('您的位置:' + r.point.lng + ',' + r.point.lat);
document.getElementById("precision").value = r.point.lng; // 获取得位置的值
document.getElementById("latitude").value = r.point.lat;
} else {
//alert('failed' + this.getStatus());
}
}, {enableHighAccuracy: true})
//add city
map.addControl(new BMap.CityListControl({
anchor: BMAP_ANCHOR_TOP_LEFT
}));
//add click
function showInfo(e) {
//alert(e.point.lng + ", " + e.point.lat);
document.getElementById("precision").value = e.point.lng;
document.getElementById("latitude").value = e.point.lat;
var mk = new BMap.Marker(e.point);
map.addOverlay(mk);
map.panTo(e.point);
//mk.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
deletePoint(); //删除所有标注
}
map.addEventListener("click", showInfo);
function deletePoint() {
var allOverlay = map.getOverlays();
for (var i = 0; i < allOverlay.length - 1; i++) {
map.removeOverlay(allOverlay[i]);
}
}
//关于状态码
//BMAP_STATUS_SUCCESS 检索成功。对应数值“0”。
//BMAP_STATUS_CITY_LIST 城市列表。对应数值“1”。
//BMAP_STATUS_UNKNOWN_LOCATION 位置结果未知。对应数值“2”。
//BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3”。
//BMAP_STATUS_INVALID_KEY 非法**。对应数值“4”。
//BMAP_STATUS_INVALID_REQUEST 非法请求。对应数值“5”。
//BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6”。(自 1.1 新增)
//BMAP_STATUS_SERVICE_UNAVAILABLE 服务不可用。对应数值“7”。(自 1.1 新增)
//BMAP_STATUS_TIMEOUT 超时。对应数值“8”。(自 1.1 新增)
function codeAddress() { // 调用查询..查询位置
// 创建地址解析器实例
var myGeo = new BMap.Geocoder();
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint(document.getElementById("address").value, function (point) {
if (point) {
map.centerAndZoom(point, 14);
map.addOverlay(new BMap.Marker(point));
document.getElementById("precision").value = point.lng;
document.getElementById("latitude").value = point.lat;
} else {
alert("您输入的地址在地图中未找到,请重新输入地址!");
}
}, "");
}
</script>
</body>
前端样式B
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" />
<meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" />
<title>百度地图API自定义地图</title>
<!--引用百度地图API-->
<style type="text/css">
html,body{margin:0;padding:0;}
.iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap}
.iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true&AK="></script>
</head>
<body>
<!--百度地图容器-->
<div style="width:697px;height:550px;border:#ccc solid 1px;" id="dituContent"></div>
</body>
<script type="text/javascript">
//创建和初始化地图函数:
function initMap(){
createMap();//创建地图
setMapEvent();//设置地图事件
addMapControl();//向地图添加控件
}
//创建地图函数:
function createMap(){
var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图
var point = new BMap.Point(116.290817,39.810537);//定义一个中心点坐标
map.centerAndZoom(point,18);//设定地图的中心点和坐标并将地图显示在地图容器中
window.map = map;//将map变量存储在全局
}
//地图事件设置函数:
function setMapEvent(){
map.enableDragging();//启用地图拖拽事件,默认启用(可不写)
map.enableScrollWheelZoom();//启用地图滚轮放大缩小
map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)
map.enableKeyboard();//启用键盘上下左右键移动地图
}
//地图控件添加函数:
function addMapControl(){
//向地图中添加缩放控件
var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
map.addControl(ctrl_nav);
//向地图中添加缩略图控件
var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});
map.addControl(ctrl_ove);
//向地图中添加比例尺控件
var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
map.addControl(ctrl_sca);
}
initMap();//创建和初始化地图
</script>
</html>
前端样式B来自
访问前端的地址 就会出现地图了