百度地图怎么给自定义覆盖物添加属性

百度地图怎么给自定义覆盖物添加属性,第1张

一、定义构造函数并继承Overlay

// 定义自定义覆盖物的构造函数

function SquareOverlay(center, length, color){

this._center = center

this._length = length

this._color = color

}

// 继承API的BMap.Overlay

SquareOverlay.prototype = new BMap.Overlay()

二、初始化自定义覆盖物

// 实现初始化方法

SquareOverlay.prototype.initialize = function(map){

// 保存map对象实例

this._map = map

// 创建div元素,作为自定义覆盖物的容器

var div = document.createElement("div")

div.style.position = "absolute"笑和

// 可以根据参数设置元素外观

div.style.width = this._length + "px"

div.style.height = this._length + "px"

div.style.background = this._color

// 将div添加到覆盖物容器中

map.getPanes().markerPane.appendChild(div)

// 保存div实例

this._div = div

// 需要将div元素作碰前盯为方法的返回值,当调用该覆盖物的show、

// hide方法,或者对覆盖物进行移除时,API都将 *** 作此元素。

return div

}

三、绘制覆盖物

// 实现绘制方法

SquareOverlay.prototype.draw = function(){

// 根据地理坐标转换为像素坐标,并设置给容器

var position = this._map.pointToOverlayPixel(this._center)

this._div.style.left = position.x - this._length / 2 + "px"

this._div.style.top = position.y - this._length / 2 + "px"

}

四、添加覆盖物

//添加自定义覆盖物

var mySquare = new SquareOverlay(map.getCenter(), 100, "red")

map.addOverlay(mySquare)

五、给自定义覆盖物添加事件

1、显示事件

SquareOverlay.prototype.show = function(){

if (this._div){

this._div.style.display = ""

}

}

添加完以上显示覆盖物事件后,只需要下面这句话,就可以显示覆盖物了。

mySquare.show()

2、隐藏覆盖物

/悔冲/ 实现隐藏方法

SquareOverlay.prototype.hide = function(){

if (this._div){

this._div.style.display = "none"

}

}

添加完以上code,只需使用这句话,即可隐藏覆盖物。

mySquare.hide()

3、改变覆盖物颜色

SquareOverlay.prototype.yellow = function(){

if (this._div){

this._div.style.background = "yellow"

}

}

上面这句话,是把覆盖物的背景颜色改成黄色,使用以下语句即可生效:

mySquare.yellow()

“第五部分、给覆盖物添加事件”小结:

我们在地图上添加了一个红色覆盖物,然后分别添加“显示、隐藏、改变颜色”的事件。示意图如下:

那么,我们需要在html里,先写出map的容器,和3个按钮。

<div style="width:520pxheight:340pxborder:1px solid gray" id="container"></div>

<p>

<input type="button" value="移除覆盖物" onclick="mySquare.hide()"/>

<input type="button" value="显示覆盖物" onclick="mySquare.show()"/>

<input type="button" value="变成黄色" onclick="mySquare.yellow()"/>

</p>

然后,在javascript中,添加这三个函数:

// 实现显示方法

SquareOverlay.prototype.show = function(){

if (this._div){

this._div.style.display = ""

}

}

// 实现隐藏方法

SquareOverlay.prototype.hide = function(){

if (this._div){

this._div.style.display = "none"

}

}

//改变颜色的方法

SquareOverlay.prototype.yellow = function(){

if (this._div){

this._div.style.background = "yellow"

}

}

六、如何给自定义覆盖物添加点击事件(这章重要!很多人问的)

比如,我们给自定义覆盖物点击click事件。首先,需要添加一个addEventListener 的事件。如下:

SquareOverlay.prototype.addEventListener = function(event,fun){

this._div['on'+event] = fun

}

再写该函数里面的参数,比如click。这样就跟百度地图API里面的覆盖物事件一样了。

mySquare.addEventListener('click',function(){

alert('click')

})

同理,添加完毕addEventListener之后,还可以添加其他鼠标事件,比如mouseover。

mySquare.addEventListener('mousemover',function(){

alert('鼠标移上来了')

})

七、全部源代码

自定义覆盖物

怎么能够在百度地图上显示我们单位的地理位置?

1、登陆自己的账号进入百度地图,在右上角有个商户免费标注:

2、输入一个公司位置,显示没有的话就可以在右边,如下图显示的新增标注按钮了

3、点选进来后,就要填写自己-标注位置-认领商户-丰富商户资讯。填写好了下面点选提交。就显示在稽核,这就完成了。

怎样在百度地图上显示酒店的地理位置

东莞市资丰制冷机电工程有限公司锏惧害鍦板浘

怎么让我的酒店位置在百度地图上显示

前提一,必须到工商注册(这个必有吧),前提二,酒店规模不能太小,弄的跟小旅馆似的肯定不行;有了这些,百度地图会不定期更新,不久你的酒店应该就会出现在百度地图上了

绝对原创,翻版必究!

想知道: 如何在百度地图上显示公司名称和地理位置?

把自己的公司名称标注上去 等待稽核通过就可以了,如果你不会我可以代作【媒介匣】

怎么通过座标在百度地图上显示出位置

1 注册百度账号,到百度地图的API申请个KEY,免费的key每天有固定的查询流量,付费就很多了。

2 申请了Key后,在你的Html 页面上引入js :

<script type=text/javascript src=:api.map.baidu./api?v=2.0&ak=您的金钥></script>

3

在HTML的Body中,放入一个div,用于显示地图的地方

<div id="allmap"></div>

4

写入显示到地图的图示js方法

<script type=text/javascript>

var map = new BMap.Map("allmap")

var point = new BMap.Point(116.400244,39.92556)

map.centerAndZoom(point, 12)

var marker = new BMap.Marker(point)建立标注

map.addOverlay(marker)将标注新增到地图中

marker.addEventListener("click",getAttr)

function getAttr(){

var p = marker.getPosition()获取marker的位置

alert("marker的位置是" + p.lng + "," + p.lat)

}

</script>

5 储存后,开启您的HTML,介面将会显示出第四步的座标地址 Point(116.400244,39.92556)

6

点选地图上的红色图示地址,将呼叫刚才写的

function getAttr(){

var p = marker.getPosition()获取marker的位置

alert("marker的位置是" + p.lng + "," + p.lat)

}

方法,d出提示框。

这个方法,看具体需要呼叫什么方法,就写什么内容喽。

至此,入参座标呼叫百度API显示到地图上的图示,方法实现。更多请检视百度API提供的方法,很丰富~

怎么通过座标在百度地图上显示出位置

:jingyan.baidu./article/ad310e80c652ff1849f49e90.

怎么在百度地图上显示三个地点ABC的相对位置?

使用测距,可显示直线距离

怎么在百度地图上显示我的企业名字!

很简单,掏钱买百度的虚拟空间就行了。只要你掏了钱,百度的网管自然就会把你的企业名字,收在百度里,这样就可以在百度工具条里,搜寻到你的企业名字。

如何在百度地图上显示自己的位置

目前,只有百度手机地图可以,具体步骤如下:

1、开启手机百度地图app,确保网路、GPS处于开启状态。

2、稍微等待一下,地图上就会出现位置座标箭头。如果没有出现点选首页左下角的【指南针】标志。

怎么在百度地图上显示自己店铺

我们需要提交给百度地图去稽核,稽核时间是5天左右。另外注意的是必须有相关的证件才行。例如公司必须有公司的营业执照。

一定要注意:

1、营业执照必须清晰

2、名字需要和营业执照上吻合

3、如果是其他名字,需要有证明


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11978275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存