百度API获取位置范围内的周边服务
百度地图API是⼀套为开发者免费提供的基于百度地图的应⽤程序接⼝,包括JavaScript、iOS、Andriod、静态地图、Web服务等多种版本,提供基本地图、位置搜索、周边搜索、...
<script type="text/javascript" src="api.map.baidu/api?v=2.0&ak=(百度API key,可免费申请)"></script>
<style type="text/css">
body,html,#allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
}
#allmap {
margin-top: 35px;
}
#golist {
display: none;
}
@media ( max-device-width : 780px) {
#golist {
display: block !important;
}
}
.
tuijian_listbox1 {
position: fixed;
background: #fff;
height: 35px;
top: 0px;
left: 0px;
width: 100%;
}
ul.tuijian_list2 li {
width: 24%;
height: 35px;
float: left;
text-align: center;
line-height: 35px;
}
</style>
<body>
<div class="tuijian_listbox1">
<ul class="tuijian_list2">
<li val_class="景点">景点</li>
<li val_class="住宿" >住宿</li>
<li val_class="农家乐" >农家乐</li>
百度api接口
<li val_class="⼩吃" >特⾊⼩吃</li>
</ul>
</div>
<div class="map" id="allmap"></div>
<script type="text/javascript">
var map;
var bounds;
var circle;
var local;
var lng='118.792255';
var lat='32.047475';//指定位置的经度纬度可以到百度定位拾取系统去拿 api.map.baidu/lbsapi/getpoint/index.html
var lat='32.047475';//指定位置的经度纬度可以到百度定位拾取系统去拿 api.map.baidu/lbsapi/getpoint/index.html var search= '景区';
var MyMarker;
// 百度地图API功能
$(function(){
map = new BMap.Map("allmap");
GetLocation();
var mPoint = new BMap.Point(lng,lat);
var MyIcon = new BMap.Icon("标记箭头图标路径", new BMap.Size(18,28));
MyMarker = new BMap.Marker(mPoint,{icon:MyIcon});
map.addOverlay(MyMarker);
map.addEventListener("click", function(e){
mPoint = new BMap.Point(e.point.lng,e.point.lat);
MyMarker = new BMap.Marker(mPoint,{icon:MyIcon});
map.addOverlay(MyMarker);
Search(search,mPoint);
});
$('.tuijian_list2 li').each(function(index) {
$(this).click(function(){
$(this).parents('.tuijian_list2').find('.tuijian_in').removeClass('tuijian_in');
$(this).addClass("tuijian_in");
search = $(this).attr('val_class');
Search(search,mPoint);
});
});
Search(search,mPoint);
});
/**
* 得到圆的内接正⽅形bounds
* @param {Point} centerPoi 圆形范围的圆⼼
* @param {Number} r 圆形范围的半径
* @return ⽆返回值
*/
function getSquareBounds(centerPoi,r){
var a = Math.sqrt(2) * r; //正⽅形边长
var mPoi = getMecator(centerPoi);
var x0 = mPoi.x, y0 = mPoi.y;
var x1 = x0 + a / 2 , y1 = y0 + a / 2;//东北点
var x2 = x0 - a / 2 , y2 = y0 - a / 2;//西南点
var ne = getPoi(new BMap.Pixel(x1, y1)), sw = getPoi(new BMap.Pixel(x2, y2));
return new BMap.Bounds(sw, ne);
};
/
/根据球⾯坐标获得平⾯坐标。
function getMecator(poi){
MapType().getProjection().lngLatToPoint(poi);
};
//根据平⾯坐标获得球⾯坐标。
function getPoi(mecator){
MapType().getProjection().pointToLngLat(mecator);
};
function Search(search,mPoint){
map.clearOverlays();
circle = new BMap.Circle(mPoint,1000,{stroke:"white",strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3});
map.addOverlay(circle);
local = new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}});
bounds = Center(),Radius());
local.searchInBounds(search,bounds);
map.addOverlay(MyMarker);
map.addOverlay(MyMarker);
/*
var local = new BMap.LocalSearch(map, {
renderOptions: {map: map, panel: "r-result"} });
local.search(search);
*/
};
function GetLocation(){
var geolocation = new BMap.Geolocation();
Status() == BMAP_STATUS_SUCCESS){ lng = r.point.lng;
lat = r.point.lat;
}else{
alert('failed'+Status());
}
},{enableHighAccuracy: true}
)
;
};
</script>
</body>
</html>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论