首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Windows程序
> 详细
【百度地图API】你看过房产地图吗?你知道房产标注是如何建立的吗?
时间:
2015-01-07 13:00:27
阅读:
400
评论:
0
收藏:
0
[点我收藏+]
标签:
原文:
【百度地图API】你看过房产地图吗?你知道房产标注是如何建立的吗?
你是不是看过很多房产网站?例如安居客,新浪乐居。
你是不是也想做一个能写文字的标注?
你知道怎么去实现麼?
其实,上图这样的标注是一个“自定义覆盖物”。你可以任意指定它的样式,文字,图片等等。
首先,我需要初始化地图:
var
mp
=
new
BMap.Map(
"
map_container
"
);
var
point
=
new
BMap.Point(
116.3964
,
39.9093
);
mp.centerAndZoom(point,
15
);
然后,我建立两个自定义覆盖物:
var
myCompOverlay
=
new
ComplexCustomOverlay(
new
BMap.Point(
116.407845
,
39.914101
),
"
天安门东
"
);
var
myCompOverlay2
=
new
ComplexCustomOverlay(
new
BMap.Point(
116.406946
,
39.911403
),
"
国家博物馆
"
);
对自定义覆盖物定义:(包括样式、图片、位置偏移等等)
//
复杂的自定义覆盖物
function
ComplexCustomOverlay(point, text){
this
._point
=
point;
this
._text
=
text;
}
ComplexCustomOverlay.prototype
=
new
BMap.Overlay();
ComplexCustomOverlay.prototype.initialize
=
function
(map){
this
._map
=
map;
var
div
=
this
._div
=
document.createElement(
"
div
"
);
div.style.position
=
"
absolute
"
;
div.style.zIndex
=
BMap.Overlay.getZIndex(
this
._point.lat);
div.style.backgroundColor
=
"
#EE5D5B
"
;
div.style.border
=
"
1px solid #BC3B3A
"
;
div.style.color
=
"
white
"
;
div.style.height
=
"
18px
"
;
div.style.padding
=
"
2px
"
;
div.style.lineHeight
=
"
18px
"
;
div.style.whiteSpace
=
"
nowrap
"
;
div.style.MozUserSelect
=
"
none
"
;
div.style.fontSize
=
"
12px
"
div.appendChild(document.createTextNode(
this
._text));
var
arrow
=
this
._arrow
=
document.createElement(
"
div
"
);
arrow.style.background
=
"
url(http://map.baidu.com/fwmap/upload/r/map/fwmap/static/house/images/label.png) no-repeat
"
;
arrow.style.position
=
"
absolute
"
;
arrow.style.width
=
"
11px
"
;
arrow.style.height
=
"
10px
"
;
arrow.style.top
=
"
22px
"
;
arrow.style.left
=
"
10px
"
;
arrow.style.overflow
=
"
hidden
"
;
div.appendChild(arrow);
div.onmouseover
=
function
(){
this
.style.backgroundColor
=
"
#6BADCA
"
;
this
.style.borderColor
=
"
#0000ff
"
;
arrow.style.backgroundPosition
=
"
0px -20px
"
;
}
div.onmouseout
=
function
(){
this
.style.backgroundColor
=
"
#EE5D5B
"
;
this
.style.borderColor
=
"
#BC3B3A
"
;
arrow.style.backgroundPosition
=
"
0px 0px
"
;
}
mp.getPanes().labelPane.appendChild(div);
return
div;
}
ComplexCustomOverlay.prototype.draw
=
function
(){
var
map
=
this
._map;
var
pixel
=
map.pointToOverlayPixel(
this
._point);
this
._div.style.left
=
pixel.x
-
parseInt(
this
._arrow.style.left)
+
"
px
"
;
this
._div.style.top
=
pixel.y
-
30
+
"
px
"
;
}
最后,在地图上把它们添加上来。
mp.addOverlay(myCompOverlay);
mp.addOverlay(myCompOverlay2);
运行示例,请点击:
http://ui-love.com/baidumap/customoverlay.html
【百度地图API】你看过房产地图吗?你知道房产标注是如何建立的吗?
标签:
原文地址:http://www.cnblogs.com/lonelyxmas/p/4207946.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
动态 WebApi 引擎使用教程(3行代码完成动态 WebApi 构建)
2021-07-28
windows 查看文件的md5/sha1/sha256
2021-07-28
git windows下换行符问题 LF与CRLF转换
2021-07-27
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。
2021-07-26
K8S--可视化界面Kubernetes Dashboard(API Server方式)
2021-07-26
Redis安装成windows服务
2021-07-26
c#32位支持大内存(>2gb)
2021-07-23
【c#】Dev BarStaticItem问题汇总
2021-07-23
Exception: URL fetch failure on https://s3.amazonaws.com/text-datasets/nietzsche.txt: None -- [WinError 10054] 远程主机强迫关闭了一个现有的连接。
2021-07-22
WinForm使用DataGridView实现类似Excel表格的查找替换
2021-07-22
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!