1、结合前一篇的标注功能,以下可直接在搜索页面中添加一个DIV层的搜索功能
<div id="tools" style="left:100px;top:5px;position: absolute;"><INPUT id=PoiSearch name=word maxLength=256 >
<SELECT NAME="field" ID="field">
<OPTION VALUE="">---请选择---</OPTION>
<OPTION VALUE="land" SELECTED>地块</OPTION>
</SELECT>
<INPUT TYPE="button" VALUE="搜索" ONCLICK="search()">
</div>
2、并在地图初始化脚本区中,添加搜索方法,以有结合业务搜索结果数据标注到地图上
//初始化地图参数
........
var land_name = "";
var land_intro = "";
/*
* 展示地块窗口,并把地图中心位置移动到相应位置
*/
function markCurrentLand(point,marker,isopen){
/*var opts = {
width : 350, // 信息窗口宽度
height: 150, // 信息窗口高度
title : land_name // 信息窗口标题
}*/
//已成功标注到地图,显示信息到地图
var sContent =
"<h4 style='margin:0 0 5px 0;padding:0.2em 0'>"+land_name+"</h4>" +
"<img style='float:right;margin:4px' id='imgDemo' src='images/gongshuRMZFBuilding.jpg' width='139' height='104' title='**区'/>" +
"<p style='margin:0;line-height:1.5;font-size:13px;text-indent:2em'>用地性质:出让面积:地块介绍:"+land_intro+"</p>" +
"</div>";
//var infoWindow = new BMap.InfoWindow(sContent,opts); // 创建信息窗口对象
var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
map.addOverlay(marker); //添加图标
if(isopen){
setTimeout(function(){
map.panTo(point); //移动到当前对象
map.openInfoWindow(infoWindow, point); // 打开信息窗口
}, 1000);
}
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow);
//图片加载完毕重绘infowindow
document.getElementById('imgDemo').onload = function (){
infoWindow.redraw();
}
});
}
//编写自定义函数,创建标注
function addMarker(point, index){
//比如一些自定义图片http://api.map.baidu.com/img/markers.png http://openapi.baidu.com/map/images/custom_a_j.png http://openapi.baidu.com/map/images/us_mk_icon.png
var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
offset: new BMap.Size(10, 25), // 指定定位位置
imageOffset: new BMap.Size(0, 0 - index * 25) // 设置图片偏移
});
var marker = new BMap.Marker(point, {icon: myIcon});
map.addOverlay(marker);
markCurrentLand(point,marker,false);
}
/*
* 本地搜索 定位
*/
function search(){
var searchStr = document.getElementById("PoiSearch").value;
var type = document.getElementById("field").value;
var act = "";
if(type=="land"){
act="getLandByName";
}
//业务表的查询
//通过UCAP应用平台(或其它第三方AJAX框架获取数据),到数据库中更新位置
var rs = parent.bdgUtil.synchronization("type="+type+"&act="+act+"&searchStr="+searchStr);
map.clearOverlays();//清除所有覆盖物
if(rs&&rs.length>=1){
for(var i=0;i<rs.length;i++){
land_name = rs[i].land_name;
land_intro = rs[i].land_intro;
var newPoint = new BMap.Point(rs[i].land_x, rs[i].land_y); // 创建点坐标
addMarker(newPoint, i);
}
}else{
}
map.addOverlay(polyline);//画定**区边界
//百度地图的查询
//var local = new BMap.LocalSearch(map, {
// renderOptions:{map: map}
// });
//local.search(searchStr);
}
</script>
3、功能页面


- 大小: 71 KB
分享到:
相关推荐
这个软件包名为"wkhtmltox-0.12.4_msvc2015-win64",表明它基于MSVC 2015编译器构建,适用于64位Windows操作系统。在IT领域,这种转换工具非常实用,特别是在自动化文档生成、网站存档、报告制作等场景中。 ...
"2D我的世界"是一个基于C#编程语言开发的项目,它模仿了广受欢迎的3D沙盒游戏《我的世界》的游戏玩法,但将其转化为二维平面。在这个2D版本中,玩家同样可以在一个像素化的环境中建造、探索和生存,体验与3D版本不同...
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答