<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>map最新地图导航</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="http://api.map.baidu.com/api?v=2.0&ak=wWFsgDz7grOrY27jlRzr9opkaqdklG6c"></script>
<script src="http://api.map.baidu.com/library/InfoBox/1.2/src/InfoBox_min.js"></script>
</head>
<style>
*{font-family: 微软雅黑;border: 0;margin: 0;padding: 0}
*{outline: none}
html{height:100%}
body{height:100%;}
#pl{width: 100%;height: 500px;}
.infoBoxContent{overflow: hidden;width: 300px;height: 300px;background: #fff; border-radius: 15px;}
ul{list-style: none;padding: 20px;color: #666;}
.title{text-align: center;line-height: 40px;}
a{text-decoration: none;}
.ss{position: fixed;top: 20px;z-index: 9999;left: 20%;width: 100%;height: 40px;}
.ss input,#but{width: 50%;height: 40px;float: left;}
#close{font-size: 28px;float: right;margin: 30px;z-index: 99999}
.sr{width: 60%;height: 40px;overflow: hidden;}
#results{width: 60%;height: 200px; overflow-y:scroll }
</style>
<body>
<div id="pl"></div>
<div class="ss">
<div class="sr"><input type="text" id="input"><button id="but">确定</button></div>
<div id="results"></div>
</div>
</body>
<script>
//一、
var map = new BMap.Map("pl"); // 创建地图实例
var point = new BMap.Point(0,0); // 创建点坐标
map.centerAndZoom(point, 20); // 初始化地图,设置中心点坐标和地图大小
//添加控件
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
map.addControl(new BMap.NavigationControl()); // 启用放大缩小 尺
map.addControl(new BMap.GeolocationControl()); //移动端
//二、
var geolocation = new BMap.Geolocation();//地理位置
geolocation.enableSDKLocation();// 开启SDK辅助定位
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var myIcon = new BMap.Icon("icon.png", new BMap.Size(30,30));//设置图标信息
var mk = new BMap.Marker(r.point,{icon:myIcon});//创建标注对象
map.addOverlay(mk);
map.panTo(r.point);
//一来就展示地理位置
var myGeo = new BMap.Geocoder(); // 根据坐标得到地址描述
myGeo.getLocation(r.point, function(result){
if (result){
place=result.address;//返回的地理位置
var label = new BMap.Label(place,{offset:new BMap.Size(20,-10)});
mk.setLabel(label);
}
})
mk.enableDragging();// 开启拖拽功能icon
mk.addEventListener('dragend',function(e){//添加拖拽事件
myGeo.getLocation(e.point, function(result){
if (result){
place=result.address;//返回的地理位置
}
mk.addEventListener("click", function(e) {
map.removeOverlay(mk.getLabel());//删除之前的label
var label = new BMap.Label(rs.address,{offset:new BMap.Size(20,-10)});
mk.setLabel(label);
});
mk.addEventListener("dragend", function(e){ //icon拖拽事件
map.removeOverlay(mk.getLabel());//删除之前的label
var label = new BMap.Label(place,{offset:new BMap.Size(20,-10)});
mk.setLabel(label);
})
});
})
}
else {
alert('failed'+this.getStatus());
}
});
//搜索功能
$("#but").click(function(){
var local = new BMap.LocalSearch(map,
{renderOptions: {map: map,panel: "results"}});
local.searchInBounds($("#input").val(), map.getBounds());
$("#results").show();
})
map.addEventListener("dragend", function(e){//返回信息面板
$("#results").hide();
})
//自定义样式
var pl=[
{
"featureType": "land",
"elementType": "geometry",
"stylers": {
"color": "#212121"
}
},
{
"featureType": "building",
"elementType": "geometry",
"stylers": {
"color": "#2b2b2b"
}
},
{
"featureType": "highway",
"elementType": "all",
"stylers": {
"lightness": -42,
"saturation": -91
}
},
{
"featureType": "arterial",
"elementType": "geometry",
"stylers": {
"lightness": -77,
"saturation": -94
}
},
{
"featureType": "green",
"elementType": "geometry",
"stylers": {
"color": "#1b1b1b"
}
},
{
"featureType": "water",
"elementType": "geometry",
"stylers": {
"color": "#181818"
}
},
{
"featureType": "subway",
"elementType": "geometry.stroke",
"stylers": {
"color": "#181818"
}
},
{
"featureType": "railway",
"elementType": "geometry",
"stylers": {
"lightness": -52
}
},
{
"featureType": "all",
"elementType": "labels.text.stroke",
"stylers": {
"color": "#313131"
}
},
{
"featureType": "all",
"elementType": "labels.text.fill",
"stylers": {
"color": "#8b8787"
}
},
{
"featureType": "manmade",
"elementType": "geometry",
"stylers": {
"color": "#1b1b1b"
}
},
{
"featureType": "local",
"elementType": "geometry",
"stylers": {
"lightness": -75,
"saturation": -91
}
},
{
"featureType": "subway",
"elementType": "geometry",
"stylers": {
"lightness": -65
}
},
{
"featureType": "railway",
"elementType": "all",
"stylers": {
"lightness": -40
}
},
{
"featureType": "boundary",
"elementType": "geometry",
"stylers": {
"color": "#8b8787",
"weight": "1",
"lightness": -29
}
}
]
map.setMapStyle({
styleJson:pl
});
</script>
</html>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号