【百度地图API】——如何用label制作简易的房产标签

【百度地图API】——如何用label制作简易的房产标签
原文:【百度地图API】——如何用label制作简易的房产标签

摘要:

  最近,API爱好者们纷纷说,自定义marker太复杂了!不仅定义复杂,连所有的dom事件都要自己重新定义。有没有快速简易创建房产标签的方法呢?

  答案当然是有的啦~

  我们可以利用label嘛!

-------------------------------------------------------------------------------

一、创建地图

这是老生常谈的三句话,初始化地图的js。

var map = new BMap.Map("container");    //创建地图容器
var point = new BMap.Point(116.404, 39.915); //创建一个点
map.centerAndZoom(point, 15); //设立中心点和地图级别,就是初始化地图

  

二、添加文本标签

var myLabel = new BMap.Label("海辉房产 21000元",     //为lable填写内容
{offset:new BMap.Size(-60,-60), //label的偏移量,为了让label的中心显示在点上
position:point}); //label的位置

myLabel.setTitle(
"我是文本标注label"); //为label添加鼠标提示
map.addOverlay(myLabel); //把label添加到地图上

  

文本标注默认的样子是这样滴,如下图:

我觉得label最棒的一点是,它不仅仅是文本标签而已,还能写成<a></a>链接的方式。
这样,你的label可以链接到任意一个网页上。
var myLabel = new BMap.Label("<a href='http://dev.baidu.com/wiki/static/index.htm'>百度地图API 0元</a>",     //为lable填写内容

  

三、设置文本标签的样式。关键!!!

创建完毕的房产标注见上图,你可以更换图片,让房产标签看起来更好看!!

以下的代码,用来设置lable的CSS。你可以书写任意的CSS,注意,如果是font-size这样的CSS属性,你要写成驼峰式,fontSize这样的,才能被识别。

myLabel.setStyle({                                   //给label设置样式,任意的CSS都是可以的
color:"red", //颜色
fontSize:"14px", //字号
border:"0", //
height:"120px", //高度
width:"125px", //
textAlign:"center", //文字水平居中显示
lineHeight:"120px", //行高,文字垂直居中显示
background:"url(http://cdn1.iconfinder.com/data/icons/CrystalClear/128x128/actions/gohome.png)", //背景图片,这是房产标注的关键!
cursor:"pointer"
});

  

四、全部源代码

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>label制作</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<div style="width:800px;height:500px;border:1px solid gray" id="container"></div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("container"); //创建地图容器
var point = new BMap.Point(116.404, 39.915); //创建一个点
map.centerAndZoom(point, 15); //设立中心点和地图级别,就是初始化地图
var myLabel = new BMap.Label("<a style='color:red;text-decoration:none' target='_blank' href='http://dev.baidu.com/wiki/static/index.htm'>百度地图API 0元</a>", //为lable填写内容
{offset:new BMap.Size(-60,-60), //label的偏移量,为了让label的中心显示在点上
position:point}); //label的位置
myLabel.setStyle({ //给label设置样式,任意的CSS都是可以的
fontSize:"14px", //字号
border:"0", //
height:"120px", //高度
width:"125px", //
textAlign:"center", //文字水平居中显示
lineHeight:"120px", //行高,文字垂直居中显示
background:"url(http://cdn1.iconfinder.com/data/icons/CrystalClear/128x128/actions/gohome.png)", //背景图片,这是房产标注的关键!
cursor:"pointer"
});
myLabel.setTitle(
"我是文本标注label"); //为label添加鼠标提示
map.addOverlay(myLabel); //把label添加到地图上


var infoWindow = new BMap.InfoWindow("<p style='font-size:12px;lineheight:1.8em;'>我是lable打开的信息窗口 <img src='http://dev.baidu.com/wiki/static/static/img/new.gif' /></p>"); // 创建信息窗口对象
myLabel.addEventListener("click", function(){
map.openInfoWindow(infoWindow, point);
});
</script>

  

-----------------------------------------------------------------------------------------------

不过,用label制作的房产标注,毕竟不是正规标注marker,而是文字标签label。所以,会有一些小缺陷。

如果你能忍受它们,那就大胆地使用label吧~

1、不能像marker那样,能拖动。enableDragging

2、设置不了a:hover,就是说鼠标放到label上时,背景图片不能变。

3、不能添加信息窗口(谢谢JZ1108的提醒,lable是可以添加信息窗口的~)2011.8.26更新

var infoWindow = new BMap.InfoWindow("<p style='font-size:12px;lineheight:1.8em;'>我是lable打开的信息窗口  <img src='http://dev.baidu.com/wiki/static/static/img/new.gif' /></p>");  // 创建信息窗口对象
myLabel.addEventListener("click", function(){
map.openInfoWindow(infoWindow, point);
});

  

如果你忍受不了以上两点,请使用自定义marker来制作房产标注。虽然代码看上去有点儿多。但条理很清晰~

【百度地图API】你看过房产地图吗?你知道房产标注是如何建立的吗?

http://www.cnblogs.com/milkmap/archive/2011/04/18/2019906.html

posted on 2015-01-07 14:32 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/4208390.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【svn】设置过滤文件

2019独角兽企业重金招聘Python工程师标准>>> .classpath target .project .settings *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store 转载于:https://my.oschina.net/sourcecoding/blog/509169

php开启错误日志,PHP开启error_log 错误日志

对于一些访问没有明显错误提示的PHP页面&#xff0c;我们可以通过error_log来做进一步的判定。但出于种种原因&#xff0c;有些服务器并没有开启PHP的error_log功能。可以暂时开启一下错误日志&#xff1a;编辑php.ini&#xff0c;将log_errors设置为on&#xff1a;log_errors …

计算机中整数加法满足结合律吗

今天看《程序设计语言概念》&#xff08;Concepts of Programming Language&#xff09;&#xff0c;第七章“结合性”一节中有这么一段&#xff1a;某些计算机中的整数加法不具有结合性。例如&#xff0c;假设一个程序要计算“A B C D”&#xff0c;其中A、C是很大的正数&a…

php注入教程,php注入点构造代码实例详解

php注入代码&#xff0c;方便注入测试把下面保存成 Test.asp代码如下:$mysql_server_name "localhost";$mysql_username "root";$mysql_password "password";$mysql_database "phpzr"; //??ݿ??$connmysql_connect( $mysql_se…

unity3d-小案例之角色简单漫游

准备资源 我这里从网上下载一个角色模型&#xff0c;里面有一组动画。有站立、奔跑、杀怪等 我们来实现角色的前后左后移动&#xff0c;即键盘上的WSDA键&#xff0c;这里因为没有行走的动画。索性就用奔跑代替了&#xff01;&#xff01; 暂时先不计较代码冗余的情况。因为我也…

PopupWindow在项目中的使用 并指定位置及加入动画效果

2019独角兽企业重金招聘Python工程师标准>>> 项目做到一期收尾阶段&#xff0c;突然要用到弹出窗口&#xff0c;于是自然而然的就想起了PopupWindow这个组件了&#xff0c;才发现平时用的少&#xff0c;对这个组件几乎是完全无知的状态啊。 于是恶补一番 现在放出学…

PHP新浪乐居面试题,一个朋友去新浪乐居面试时的面试题(PHP)

以下是他回忆当时的笔试题一、1、有如下HTML&#xff1a;1)用js取得________方法取得该对象&#xff1b;2)用________属性取得属性title的属性值&#xff1b;3)用________方法取得属性sina_title的属性值&#xff1b;2、php中对数组序列化和反序列化的函数分别是______和______…

Nodejs从小工到专家系列(一)

前言 从小工到专家系列为从头开始学习Nodejs,但它并不是教程,我会整理一些应该特别注意或深入理解的知识点,当然也会涉及常用的库,比如Express,mongoose,bluebird.. Nodejs特点: 单线程 优点: 没有死锁存在没有线程上下文交换所产生的性能开销缺点: 无法利用多核错误会引起整个…

php 图片无法删除,php如何删除上传的图片

php删除上传的图片的方法&#xff1a;首先检查上传文件是否在允许上传的类型&#xff1b;然后获取图片的完整路径&#xff1b;最后通过“unlink(“uppic/”.$img);”方法删除图片即可。简单的PHP上传图片和删除图片示例代码分享一例简单的PHP上传图片和删除图片示例代码&#x…

textbox 和textera 文本框多行后不能拉伸

加一个样式 "style "resize:none"转载于:https://www.cnblogs.com/q101301/p/4213298.html

Linux中断(interrupt)子系统之五:软件中断(softIRQ)

转自&#xff1a;http://blog.csdn.net/droidphone/article/details/7518428 软件中断&#xff08;softIRQ&#xff09;是内核提供的一种延迟执行机制&#xff0c;它完全由软件触发&#xff0c;虽然说是延迟机制&#xff0c;实际上&#xff0c;在大多数情况下&#xff0c;它与普…

php 克隆对象,php中对象的复制与克隆

* 对象的复制与克隆* 1.默认情况下,对象是引用传递(实际上是对象标识符的复制,后面会详细说)* 2.也就是说二个对象变量实际上是引用的是同一个对象* 3.如果要创建一个新的对象,必须使用clone关键字来克隆当前对象* 4.当使用clone关键字时,如果类中有__clone()会自动调用* 5.__c…

贝克汉姆-囚

转载于:https://www.cnblogs.com/andyxl/p/4215954.html

Androida规划nt打包

1.准备工作 &#xff08;1&#xff09;首先安装好ant工具 &#xff08;2&#xff09;生成keystore 在jdk的bin文件夹下 输入keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore 按操作输入就可以&#xff0c;记住password。 &am…

php5.3+for+linux,Centos 安装 nginx + php5.3

Centos 安装 nginx php5.3&#xff0c;点开查看详情。 #查看系统版本信息cat /etc/issue uname -a#设置时区 rm -rf /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#使用ntpdate同步时间 yum install -y ntp ntpdate -u pool.ntp.org date#Centos 安…

PHP Uploadify+jQuery.imgAreaSelect插件+AJAX 实现图片上传裁剪 仿微博头像上传功能

http://blog.csdn.net/as66t/article/details/11688217 http://blog.mc-zone.me/article/226#comment-2991转载于:https://www.cnblogs.com/ymj0906/p/4221967.html

[树结构]平衡二叉树AVL

平衡二叉树是一种二叉排序树&#xff0c;其中每一个节点的左子树和右子树的高度至多等于1&#xff0c;平衡二叉树又称为AVL树。 将二叉树节点的左子树深度减去右子树深度的值称为平衡因子BF&#xff0c;平衡二叉树上所有节点的平衡因子只可能是-1,0或者1。 距离插入点最近的&am…

dedecms php5.4 无法退出后台,PHP5.4版本织梦dedecms后台退出空白的解决方法

你是否遇到过PHP5.4版本织梦dedecms后台退出空白的问题&#xff0c;有没有解决呢?没有解决思绪&#xff0c;就来看看我这篇文章吧。解决办法&#xff1a;打开include/userlogin.class.php找到&#xff1a;function exitUser(){ClearMyAddon();session_unregister($this->ke…

C++构造函数/析构函数 设置成private的原因

C构造函数/析构函数 设置成private的原因 标签&#xff08;空格分隔&#xff09;&#xff1a; c/c 将构造函数&#xff0c;析构函数声明为私有和保护的&#xff0c;那么对象如何创建&#xff1f; 已经不能从外部调用构造函数了&#xff0c;但是对象必须被构造&#xff0c;应该如…

R语言学习笔记(4)

第四章&#xff1a;基本数据管理 一 贯穿整章的示例 二 变量的创建、重编码和重命名 三 日期值与缺失值 四 数据类型和类型转换 五 数据集的排序、合并与取子集 一 贯穿整章的示例&#xff08;leadership&#xff09; 代码4-1 1 > manager<-c(1,2,3,4,5)2 > date<…