百度地图通过搜索精确标记位置或手动标记

var map = new BMap.Map('map')
//添加比例尺
map.addControl(new BMap.NavigationControl())
//设置中心点及缩放
const center_lng = `{:str2arr($row[juweihui_lnglat])[0]}` || 117.197974
const center_lat = `{:str2arr($row[juweihui_lnglat])[1]}` || 35.090709
console.log(center_lng, center_lat)
map.centerAndZoom(new BMap.Point(center_lng, center_lat), 17)

var marker
//初始化坐标点
addMarker(`{:str2arr($row[juweihui_lnglat])[0]}`, `{:str2arr($row[juweihui_lnglat])[1]}`)
//监听鼠标点击
map.addEventListener("click", function (e) {
	//手动定义坐标
	addMarker(e.point.lng, e.point.lat)
})

function addMarker(lng, lat) {
	map.removeOverlay(marker) //清除覆盖物
	if (lng && lat) {
		var point = new BMap.Point(lng, lat)
		marker = new BMap.Marker(point) //创建标注
		map.addOverlay(marker) //将标注添加到地图中
		marker.setAnimation(BMAP_ANIMATION_BOUNCE) //跳起来
		$('[name=juweihui_lnglat]').val(lng + "," + lat)
	}
}

//定义地图搜索
var local = new BMap.LocalSearch(map, {
	renderOptions: {
		map: map
		, panel: "r-result"
	}
	, onInfoHtmlSet: function (res) {
		//通过搜索结果标记坐标
		addMarker(res.point.lng, res.point.lat)
	}
})

//通过关键字搜索
$('#map_keyword').on('input propertychange', function () {
	local.search($(this).val())
})

你可能感兴趣的:(DEFAULT)