Android百度地图悬浮窗样式,JS百度地图搜索悬浮窗功能

效果图:

a3a05fae18b7e819187a69d1191572d0.png

代码

body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";font-size:14px;}

#l-map{height:300px;width:100%;}

#r-result{width:100%;}

关键字输入提示词条

// 百度地图API功能

function G(id) {

return document.getElementById(id);

}

var map = new BMap.Map("l-map");

map.centerAndZoom("北京",10); // 初始化地图,设置城市和地图级别。

// 定义一个控件类,即function

function ZoomControl() {

this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT;

this.defaultOffset = new BMap.Size(10, 10);

}

// 通过JavaScript的prototype属性继承于BMap.Control

ZoomControl.prototype = new BMap.Control();

// 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回

// 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中

ZoomControl.prototype.initialize = function(map){

// 创建一个DOM元素

var div = document.createElement("div");

div.innerHTML = '

搜索地址:

// 添加DOM元素到地图中

map.getContainer().appendChild(div);

// 将DOM元素返回

return div;

}

// 创建控件

var myZoomCtrl = new ZoomControl();

// 添加到地图当中

map.addControl(myZoomCtrl);

var ac = new BMap.Autocomplete( //建立一个自动完成的对象

{"input" : "suggestId"

,"location" : map

});

ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件

var str = "";

var _value = e.fromitem.value;

var value = "";

if (e.fromitem.index > -1) {

value = _value.province + _value.city + _value.district + _value.street + _value.business;

}

str = "FromItem
index = " + e.fromitem.index + "
value = " + value;

value = "";

if (e.toitem.index > -1) {

_value = e.toitem.value;

value = _value.province + _value.city + _value.district + _value.street + _value.business;

}

str += "
ToItem
index = " + e.toitem.index + "
value = " + value;

G("searchResultPanel").innerHTML = str;

});

var myValue;

ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件

var _value = e.item.value;

myValue = _value.province + _value.city + _value.district + _value.street + _value.business;

G("searchResultPanel").innerHTML ="onconfirm
index = " + e.item.index + "
myValue = " + myValue;

setPlace();

});

function setPlace(){

map.clearOverlays(); //清除地图上所有覆盖物

function myFun(){

var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果

map.centerAndZoom(pp, 14);

map.addOverlay(new BMap.Marker(pp)); //添加标注

}

var local = new BMap.LocalSearch(map, { //智能搜索

onSearchComplete: myFun

});

local.search(myValue);

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值