php+js实现百度地图多点标注的方法
本文实例讲述了php+js实现百度地图多点标注的方法。分享给大家供大家参考,具体如下:
1.php创建json数据
$products = $this->product_db->select($where); $products_json = json_encode($products);
2.js传入json数据
类似于这样的结构
var markerArr = [{ title: "名称:广州火车站", point: "113.264531,23.157003", address: "广东省广州市广州火车站", tel: "12306" }, { title: "名称:广州塔(赤岗塔)", point: "113.330934,23.113401", address: "广东省广州市广州塔(赤岗塔) ", tel: "18500000000" }, { title: "名称:广州动物园", point: "113.312213,23.147267", address: "广东省广州市广州动物园", tel: "18500000000" }, { title: "名称:天河公园", point: "113.372867,23.134274", address: "广东省广州市天河公园", tel: "18500000000" }];
js擅长处理json数据
<script> var products_json = {$products_json}; // 百度地图 var citymap = new citymap(products_json,'宿迁'); </script>
3.处理地图
document.write('<script type="text/javascript" src=" </script>'); function citymap(markerArr, cityName){ this.markerArr = markerArr; this.cityName = cityName; this.initMap = function() { this.createMap();//创建地图 this.setMapEvent();//设置地图事件 this.addMapControl();//向地图添加控件 }; this.createMap = function() { var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图 map.centerAndZoom(cityName,'13'); window.map = map;//将map变量存储在全局 // 绘制点 for (var i = 0; i < markerArr.length; i++) { var p0 = markerArr[i].baidu_lng; var p1 = markerArr[i].baidu_lat; var maker = this.addMarker(new window.BMap.Point(p0, p1),markerArr[i],i ); this.addInfoWindow(maker, markerArr[i], i); } }; this.addMarker = function(point,pro,index) { 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); var label = new BMap.Label(pro.name,{offset:new BMap.Size(20,-10)}); // 设置label样式 label.setStyle({ color : "#CC3333", fontSize : "13px", backgroundColor :"#CCFFFF", border :"0", fontWeight :"bold" }); marker.setLabel(label); return marker; }; this.addInfoWindow = function(marker,pro) { //pop弹窗标题 var title = '<p style="font-weight:bold;color:#CE5521;font-size:14px"> <a href="?m=home&c=product&id='+ pro.id +'">' + pro.name + '</a></p>'; //pop弹窗信息 var html = []; html.push('<table cellspacing="0" style="table-layout:fixed;width:100%;font:12px arial,simsun,sans-serif"><tbody>'); html.push('<tr>'); html.push('<td style="vertical-align:top;line-height:16px;width:38px;white-space:nowrap;word-break:keep-all">地址:</td>'); html.push('<td style="vertical-align:top;line-height:16px">' + pro.address + ' </td>'); html.push('</tr>'); html.push('</tbody></table>'); var infoWindow = new BMap.InfoWindow(html.join(""), { title: title, width: 200 }); var openInfoWinFun = function() { marker.openInfoWindow(infoWindow); }; marker.addEventListener("click", openInfoWinFun); return openInfoWinFun; } this.setMapEvent = function() { map.enableDragging();//启用地图拖拽事件,默认启用(可不写) // map.enableScrollWheelZoom();//启用地图滚轮放大缩小 map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写) map.enableKeyboard();//启用键盘上下左右键移动地图 }; this.addMapControl = function() { //向地图中添加缩放控件 var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(ctrl_nav); //向地图中添加缩略图控件 var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1}); map.addControl(ctrl_ove); //向地图中添加比例尺控件 var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); map.addControl(ctrl_sca); }; this.initMap(); }
以上就是php+js实现百度地图多点标注的方法 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

百度地图APP现在已经都成为了超多用户们首选的出行导航的软件,那么这里的一些功能全面,都能够免费的让大家进行选择操作哦,解决自己日常出行方面会遇到的一些问题,完全都能够查询到自己的一些出行的路线,规划自己的一些出行的方案,查询完对应的这一些路线,都能根据自己的需求,选择合适的一些出行方式,那么你们不管是选择一些公共交通,骑行,步行或者是打车等,都能满足你们的,有着对应的一些导航路线,成功的带领你们去往某地,那么大家选择打车的话,都能感到更加的方便,超多的一些司机们都是会在线接单,打车变得超级

在日常出行中,我们常常需要打车出行,而现在百度地图也提供了打车服务,方便快捷。但是,许多人还不知道如何在百度地图打车后进行支付。下面,我们就来详细介绍一下百度地图打车支付的方法。百度地图打车怎么付费1、首先打开百度地图APP,进入到主页面;2、之后跳转到下图所示的页面,点击右侧的【打车】;3、然后进入到下图的打车功能页,选择其中的【个人中心】;4、接着在个人中心页面,找到【支付管理】;5、最后在支付管理功能页,选择要开通付费的方式点击【去开通】即可。

想要在百度地图上新增地点,可能你需要经过一些复杂的步骤。不过,不用担心,接下来我会为你详细介绍如何在百度地图上添加新的地点,从而让你更轻松地分享你的位置信息或者帮助他人找到目的地。百度地图如何新增地点1、首先打开百度地图APP,进入到主页面;2、然后进入到下图所示的主页面,点击右侧的【上报】按钮;3、接着跳转到上报功能页,选择下方的【新增地点】服务;4、然后在新增地点专区,在【其他信息】边框中输入信息;5、最后输入对应的信息,点击最底部的【提交】即可完成。

百度地图是有一个3d实景地图功能,那么3d实景地图怎么看呢?用户们需要在我的里,找到更多的选项,然后在里面找到3d地图,就能够查看地图了。这篇3d实景地图查看方法介绍就能够告诉大家具体该如何设置,下面就是详细介绍,赶紧看看吧。百度地图使用教程百度地图3d实景地图怎么看答:在我的-更多-3d地图具体方法:手机版:1、首先点击右下的我的。2、在里面找到更多的功能。3、在里面点击3d实景就能够使用了。网页版:1、首先需要输入https://map.baidu.com进入网页版。2、点击右下的查看方法,

百度地图最近宣布,他们成功推出了真城市车道级导航系统,已经覆盖全国超过200个城市。这一系统的推出,极大地改善了驾驶者的导航体验。百度地图的车道级导航与以往仅提供放大图的导航方式相比,提供了更为沉浸、立体的界面。该系统通过精细地还原真实世界的道路细节,如红绿灯、车道分割线和公交车道等,使驾驶者能够更加清晰地了解当前道路的状况。这种车道级导航不仅可以帮助驾驶者更准确地选择车道,还能提供更全面的交通信息,使得驾驶过程更加安全和便捷。据了解,为了实现这一目标,百度地图独自开发了业内首个地图生成大模型。

百度地图导航手机版免费下载是一款非常专业的手机地图导航软件,软件内的导航功能非常强大,只要是你想去的都能找到最准确的出行方案,想去哪里就去哪里非常方便,同时还能使用其他的导航功能,各路明星的语音包免费下载使用,各种导航模式在线使用,为大家的出行安全保驾护航,还能扫码乘车更加方便,人手必备的出行导航助手,不用担心会迷路的,现在小编在线仔细一一为百度地图伙伴们带来查看3d实时街景的方法。 1、打开百度地图,在常用功能栏点击更多 2、然后搜索找到3d实景 3、然后进入到3d观看界面 4、如

上面的功能非常的多,尤其是对于在地图方面可以标记到多个地方的一些为止,我们在知道一些地方的时候,肯定是采用标点的一些功能,这样就可以为你们带来多种不同方面的一些功能,你们所标点都会产生距离的差异,也就是可以知道距离究竟有多远,当然也会显示出上面地点的的一些名称和详细的信息都可以,但是很多网友们可能对于上面的一些内容资讯都不是非常的清楚,所以为了能够让大家们更好的进行多方面的一些选择,所以今日小编就来给你们带来多种不同方面的一些选择,所以有兴趣想法的朋友们,你也感兴趣的话,就来试一试吧。 标

如何使用JS和百度地图实现地图平移功能百度地图是一款广泛使用的地图服务平台,在Web开发中经常用于展示地理信息、定位等功能。本文将介绍如何使用JS和百度地图API实现地图平移功能,并提供具体的代码示例。一、准备工作使用百度地图API前,首先需要在百度地图开放平台(http://lbsyun.baidu.com/)上申请一个开发者账号,并创建一个应用。创建完成
