百度地图搜索(二)
来源:互联网 发布:FGO黑贞各礼装伤害数据 编辑:程序博客网 时间:2024/05/17 23:20
文件
一个js文件,内容为页面所用到的,数据都是假数据
var markers = [];function selectEndControl() { // 默认停靠位置和偏移量 this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT; this.defaultOffset = new BMap.Size(0, 0); if (opts) { if (opts.defaultAnchor) { this.defaultAnchor = opts.defaultAnchor; } if (opts.defaultOffset) { this.defaultOffset = opts.defaultOffset; } }}selectEndControl.prototype = new BMap.Control();selectEndControl.prototype.initialize = function(map) { var This = this; var mapDiv = $("#allCarMap"); var mapWidth = mapDiv.css("width"); var div = $('<div style="width:25%"><div class="search"><p class="search-input"><input id="start-input" type="text" readonly value="" placeholder="请点击地图上车辆图标" class="search-input-first"><input id="end-input" type="text" value="" placeholder="请输入或点击地图上任一位置选择终点"><em class="icon-input-top"></em><em class="icon-input-bottom"></em></p><button class="search-btn" title="搜索"><span></span><label><em></em></label></button></div><div class="search-result"><ul class="search-result-title"><li class="select-back">推荐路线</li><li>最短路程</li><li class="result-title-last">不走高速</li></ul><div class="search-result-con"><div id="luxian-first" class="result-none sear-result-first"></div><div id="short-dis" class="result-none"></div><div id="no-go" class="result-none"></div></div></div><div id="searchResultPanel" style="border:1px solid #C0C0C0;width:250px;height:100px;overflow-y:auto; display:none;margin-top: 0;"></div></div>'); map.getContainer().appendChild(div[0]); s2(); return div[0];}var myValue;function s2() { var ac = new BMap.Autocomplete( // 建立一个自动完成的对象 { "input" : "end-input", "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<br />index = " + e.fromitem.index + "<br />value = " + value; value = ""; if (e.toitem.index > -1) { _value = e.toitem.value; value = _value.province + _value.city + _value.district + _value.street + _value.business; } str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value; G("searchResultPanel").innerHTML = str; }); 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<br />index = " + e.item.index + "<br />myValue = " + myValue; setPlace(); });}function setPlace() { // map.clearOverlays(); //清除地图上所有覆盖物 function myFun() { var pp = local.getResults().getPoi(0).point; // 获取第一个智能搜索的结果 map.centerAndZoom(pp, 18); var marker = new BMap.Marker(pp); map.addOverlay(marker); // 添加标注 marker.disableDragging(); //alert(pp.lng + pp.lat); } var local = new BMap.LocalSearch(map, { // 智能搜索 onSearchComplete : myFun }); local.search(myValue);}function startToEnd() { if (startPoint == null || endPoint == null) { $(".search-result").slideUp(500); return alert("请选择目的地!"); } $(".search-result").slideDown(500); var p1 = new BMap.Point(startPoint.jingdu, startPoint.weidu); var p2 = new BMap.Point(endPoint.lng, endPoint.lat); var driving = new BMap.DrivingRoute(map, { renderOptions : { map : map, autoViewport : true },onInfoHtmlSet:function(poi,html){ console.log('sssss'); console.log(html); } }); driving.search(p1, p2); startPoint = null; endPoint = null;}function removeLuxian() { var alls = map.getOverlays(); for (var i = 0; i < alls.length; i++) { var s = 0; for (var j = 0; j < markers.length; j++) { if (alls[i].stationId == markers[j].stationId) { s = 1; } } if (s == 0) { console.log(alls[i]); map.removeOverlay(alls[i]); } }}function luxian(i) { // map.clearOverlays(); removeLuxian(); var st = $('#end-input').val(); var st1 = $('#start-input').val(); var routePolicy = [ BMAP_DRIVING_POLICY_LEAST_TIME, BMAP_DRIVING_POLICY_LEAST_DISTANCE, BMAP_DRIVING_POLICY_AVOID_HIGHWAYS ]; var panels = [ 'luxian-first', 'short-dis', 'no-go' ]; if (st == "" || st1 == "") { alert("起点终点不能为空!"); $(".search-result").slideUp(500); return null; } else if (startLng == null || endLng == null) { alert("地图上没有找到该位置!"); $(".search-result").slideUp(500); return null; } $(".search-result").slideDown(500); var p1 = new BMap.Point(startLng, startLat); var p2 = new BMap.Point(endLng, endLat); // console.log(map.getOverlays()); var driving = new BMap.DrivingRoute(map, { renderOptions : { map : map, panel : panels[i], autoViewport : true }/*,onInfoHtmlSet:function(poi,html){ console.log('sssss'); console.log(html); }*/, policy : routePolicy[i], onPolylinesSet : function(routes) { searchRoute = routes[0].getPolyline();// 导航路线 map.addOverlay(searchRoute); }, /* * onMarkersSet:function(routes) { map.removeOverlay(routes[0].marker); * //删除起点 map.removeOverlay(routes[1].marker);//删除终点 }, */ /* * onResultsHtmlSet:function(container){ * } */ }); //console.log(driving); driving.search(p1, p2);}function callback() { var s = [ { 'id' : '冀A1234', 'jingdu' : '112.2691', 'weidu' : '28.2542' }, { 'id' : '冀B1234', 'jingdu' : '112.2564', 'weidu' : '28.7896' }, { 'id' : '冀C1234', 'jingdu' : '112.9586', 'weidu' : '28.2143' }, { 'id' : '冀D1234', 'jingdu' : '112.2676', 'weidu' : '28.1563' }, { 'id' : '冀E1234', 'jingdu' : '112.93', 'weidu' : '28.26' }, { 'id' : '冀F1234', 'jingdu' : '112.3251', 'weidu' : '28.8546' }, { 'id' : '冀G1234', 'jingdu' : '113.0123', 'weidu' : '28.2501' }, { 'id' : '冀H1234', 'jingdu' : '112.4563', 'weidu' : '28.4567' } ] for (var i = 0; i < s.length; i++) { newCarElement(s[i], s[i].jingdu, s[i].weidu); }}function setJngLat() { var s = [ { 'id' : '冀A1234', 'jingdu' : '112.2691', 'weidu' : '28.2542' }, { 'id' : '冀B1234', 'jingdu' : '112.2564', 'weidu' : '28.7896' }, { 'id' : '冀C1234', 'jingdu' : '112.9586', 'weidu' : '28.2143' }, { 'id' : '冀D1234', 'jingdu' : '112.2676', 'weidu' : '28.1563' }, { 'id' : '冀E1234', 'jingdu' : '112.93', 'weidu' : '28.26' }, { 'id' : '冀F1234', 'jingdu' : '112.3251', 'weidu' : '28.8546' }, { 'id' : '冀G1234', 'jingdu' : '113.0123', 'weidu' : '28.2501' }, { 'id' : '冀H1234', 'jingdu' : '112.4563', 'weidu' : '28.4567' } ] for (var i = 0; i < markers.length; i++) { for (var j = 0; j < s.length; j++) { if (s[j].id == markers[i].stationId) { var point = new BMap.Point(s[j].jingdu, s[j].weidu); markers[i].setPosition(point); console.log(s[j]); } } }}function newCarElement(id1, jingdu, weidu) { var iconUrl = "/csps/csps/images/jsd3.png"; var myIcon = new BMap.Icon(iconUrl, new BMap.Size(20, 30), { offset : new BMap.Size(0, 0) }); var point = new BMap.Point(jingdu, weidu); var newLabel = new BMap.Label(id1.id, { offset : new BMap.Size(10, -30) }); var marker = new BMap.Marker(point, { icon : myIcon }); map.centerAndZoom(point, 14); marker.stationId = id1.id; marker .addEventListener( "click", function() { var initPoint = new BMap.Point(jingdu, weidu); map.centerAndZoom(initPoint, 14); $('#start-input').val(id1.id); startLng = jingdu; startLat = weidu; //flag = 'false'; var labelContent = "<div style='width:280px;overflow:auto;'><span style='font-size:15px;font-weight:bold;'>车辆信息</span><table class='v' style='font-size:12px;'><tr><td style='width:80px'>车牌号:</td><td style='width:190px'>" + id1.id + "</td></tr>" + "<tr><td>所属公司或者车队:</td><td>" + 11111 + "</td></tr><tr><td>设备号:</td><td>" + 1 + "</td></tr><tr><td valign='top' >设备所属公司:</td><td>" + 1 + "</td></tr><tr><td>通道数目:</td><td>" + 1 + "</td></tr>" + "<tr><td>温度传感器数目:</td><td>" + 1 + "</td></tr></table></div>"; showWeatherInfo(id1, labelContent, this); }); newLabel.setStyle({ border : 0, borderRadius : "5px", paddingLeft : "7px", paddingRight : "7px", fontSize : "12px", height : "25px", lineHeight : "25px", fontFamily : "微软雅黑" }); marker.setLabel(newLabel); map.addOverlay(marker); markers.push(marker);}// 显示气象信息function showWeatherInfo(id1, labelInfo, th) { var opts = {}; var infoWindow = new BMap.InfoWindow(labelInfo, opts); th.openInfoWindow(infoWindow);}
页面效果图:
0 0
- 百度地图搜索(二)
- 百度地图搜索(三)
- 百度地图搜索页面(一)
- 百度地图搜索
- 百度地图搜索关键字总集
- 百度地图搜索经纬度代码
- 223.map5-百度地图搜索
- 百度地图搜索位置
- 百度地图搜索、标注地图示例
- 百度地图搜索周边配套设施
- 地图搜索
- 地图搜索
- 百度地图搜索附近的地方ipa接口
- Python爬虫 百度地图搜索数据采集
- 【百度地图API】交你如何用百度地图搜索自己的数据!不需数据库
- 百度面试(二)
- 平面上的地图搜索--Java学习笔记(四)
- 平面上的地图搜索--Java学习笔记(四)
- String类和StringBuffer类常用操作
- php环境下,无法运行帝国备份王程序
- UVa 1584 Circular Sequence
- Android菜单滑动
- MongoDB--命令
- 百度地图搜索(二)
- HAWQ技术解析(十四) —— 高可用性
- Unity各类基础数据库的基本操作(一)
- 在Objective-C中浅谈面向对象
- 获取img对象的高度宽度像素
- 复杂的选择屏幕搜索帮助
- 《C和指针》学习记录——第3章数据_常量
- spring-boot 集成 activemq
- 常用python——pandas