`

百度地图Api进阶教程-默认控件和自定义控件2.html

 
阅读更多
<pre class="html" name="code"><!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>百度地图</title>
<script type="text/javascript">

	function initialize() {
		//---------------------------------------------基础示例---------------------------------------------
		var map = new BMap.Map("allmap",{minZoom:12,maxZoom:20});            // 创建Map实例
		//map.centerAndZoom(new BMap.Point(116.4035,39.915),15);  //初始化时,即可设置中心点和地图缩放级别。
		map.centerAndZoom("成都",13);                     // 初始化地图,设置中心点坐标和地图级别。
		map.enableScrollWheelZoom(true);//鼠标滑动轮子可以滚动
	
		//---------------------------------------------默认控件示例---------------------------------------------
		map.addControl(new BMap.NavigationControl());  //添加默认缩放平移控件
		
		//---------------------------------------------版权控件---------------------------------------------
		var cr = new BMap.CopyrightControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT});

		//var bs = map.getBounds();
		cr.addCopyright({id: 1, content: "<a href='#' style='font-size:20px;background:yellow'>我是自定义版权控件呀</a>"});
		map.addControl(cr); //添加版权控件

		//---------------------------------------------自定义控件---------------------------------------------
		// 定义一个控件类,即function
		function ZoomControl(){
			 // 默认停靠位置和偏移量
			this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT;
			this.defaultOffset = new BMap.Size(10, 10);
		}

		// 通过JavaScript的prototype属性继承于BMap.Control
		ZoomControl.prototype = new BMap.Control();

		// 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回
		// 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中
		ZoomControl.prototype.initialize = function(map){
			// 创建一个DOM元素
			var div = document.createElement("div");
			// 添加文字说明
			//div.appendChild(document.createTextNode("放大2级"));
			 div.innerHTML="<img src=\"http://t2.baidu.com/it/u=351117335,2626617599&fm=0&gp=0.jpg\" />"
			// 设置样式
			div.style.cursor = "pointer";
			div.style.border = "1px solid gray";
			div.style.backgroundColor = "white";
			// 绑定事件
			div.onclick = function(e){
				//点击一次放大两级
				map.setZoom(map.getZoom() + 2);
				alert(1);
			}
			// 添加DOM元素到地图中
			map.getContainer().appendChild(div);
			// 将DOM元素返回
			return div;
		}
		// 创建控件
		var myZoomCtrl = new ZoomControl();
		// 添加到地图当中
		map.addControl(myZoomCtrl);
	}
 
	function loadScript() {
	   var script = document.createElement("script");
	   script.src = "http://api.map.baidu.com/api?v=1.4&callback=initialize";
	   document.body.appendChild(script);
	}
 
	window.onload = loadScript;
</script>

</head>
 <body>
	<div style="float:left;width:100px;">1</div>
	<div id="allmap" style="width: 800px; height: 500px"></div>
</body>
</html>

<script type="text/javascript">
	// 移动到某点 map.panTo(new BMap.Point(116.409, 39.918));  
	 // map.setZoom(14);   //放到到14级
</script></pre><br>
<pre></pre>

 

分享到:
评论

相关推荐

    wu-video-js-5.20.1 2.zip

    1. **自定义播放器控件**:通过扩展video-js的默认控件,开发者可以创建独特的用户界面。 2. **视频分段加载**:结合HLS(HTTP Live Streaming)或DASH(Dynamic Adaptive Streaming over HTTP),实现在低带宽环境...

    【Android进阶】(2)2D绘制与控件绘制

    例如,它可能会展示如何创建自定义View进行复杂图形的绘制,如何处理触摸事件,以及如何自定义控件样式等。 总结,Android的2D绘制和控件绘制是开发者构建动态、美观应用的关键技能。通过学习和实践,你可以创造出...

    自定义轮播控件MyWheel

    在Android开发中,我们经常需要对系统默认的UI组件进行扩展或者自定义,以满足特定的设计需求和应用风格,MyWheel就是这样一个自定义控件的例子。 自定义控件通常涉及以下几个关键步骤: 1. **绘制视图**: 自定义...

    WEBGIS开发实实例教程

    ### WEBGIS开发实实例教程知识点概述 #### 一、ArcGIS.Server 9.3与ArcGIS API for Flex实现基本...通过这些示例,读者可以了解如何使用ArcGIS Server 9.3和ArcGIS API for Flex进行Web GIS应用开发的基础和进阶操作。

    百度MapBar电子地图

    【百度MapBar电子地图】是百度提供的一种在线地图服务,它允许开发者通过集成特定的JavaScript API来在网页中嵌入地图功能,实现地图显示、定位、路径规划等多元化地图应用。MapBar电子地图服务不仅提供了基础的地图...

    gridview控件的使用(高级进阶)

    这篇高级进阶教程将深入探讨GridView控件的高级特性,帮助开发者充分利用其功能来提升用户体验和网页应用的效率。 1. **模板字段**:GridView不仅支持简单的数据列显示,还可以通过模板字段自定义列的显示格式,...

    google maps api 地图开发大全源码

    用户可以通过默认或自定义的地图控制(如缩放控件、平移控件等)来操作地图。源码可能展示了如何添加和配置这些控制。 这个压缩包中的源码是一个很好的学习资源,涵盖了谷歌地图API的基础和进阶用法。通过研究这些...

    FullCalendar的使用demo

    它还具备添加、编辑和删除事件的功能,同时可以与外部数据源如Google Calendar或JSON API集成。 2. **汉化版**: 提供的汉化版意味着这个Demo已经将FullCalendar的默认英文界面翻译成了中文,方便中文用户使用。...

    Qt-Frameless-Window-DarkStyle-master.zip

    实现无边框窗口通常涉及禁用默认窗口样式,并添加自定义的拖动和调整大小逻辑。在Qt中,我们可以使用`Qt::WindowFlags`中的`Qt::FramelessWindowHint`标志来创建无边框窗口。 【深色主题】 深色主题在现代UI设计中...

    jquery日历控件

    在描述中提到的“可以下载之后进行2次开发”意味着这个控件不仅可以直接使用,还允许开发者根据项目需求进行自定义和扩展。这通常包括改变样式、添加新的功能或者调整交互方式,以适应不同的应用场景。 ### jQuery...

    vb透明色控件(使窗体上的某一种颜色为透明)

    - 对于自定义控件,透明色的处理更为复杂,因为需要在控件的OnPaint事件中进行类似的操作。同时,可能还需要处理控件之间的相互透明,这就需要更复杂的逻辑。 5. **性能优化**: - 由于手动处理透明会增加绘制...

    My97DatePicker时间控件

    5. 自定义配置:开发者可以自定义控件的显示格式、语言、初始值等,实现个性化需求。 6. 性能优化:经过精心优化,加载速度快,对页面性能影响小。 二、My97DatePicker的使用方法: 1. 引入资源:在HTML文件中引入...

    js日历控件

    - **配置参数**:可以通过传递参数对象,自定义日历控件的各种行为和样式,例如设置日期格式、默认日期等。 - **事件绑定**:可以监听用户选择日期后的事件,进行相应的业务处理。 4. **常见问题及解决方案** - ...

    videoPlayer_html.zip

    2. 自定义播放器控件 虽然HTML5的`&lt;video&gt;`元素已经提供了一些基本控制,但为了满足个性化需求,开发者通常会自定义播放器控件。这个videoPlayer_html项目正是这样的实践,它通过JavaScript创建和管理这些控件,实现...

    WPF中InkCanvas控件详细介绍

    总结来说,InkCanvas是WPF中一个强大的墨迹输入控件,不仅提供了基础的绘图和编辑功能,还允许开发者通过其丰富的API和事件来定制复杂的墨迹交互体验。通过深入学习和实践,开发者可以利用InkCanvas创建出具有独特...

    CV MFC的一些实例

    - **自定义控件**:学习如何创建自己的MFC控件类,实现特定功能。 - **多线程编程**:MFC支持多线程,实例可能涉及线程的创建和同步。 - **网络编程**:MFC提供了对Winsock的支持,可以进行网络通信。 - **国际...

    WPF C# OpenFileDialog win7风格

    - **自定义控件**: 对于更高级的需求,考虑使用自定义控件或完全自定义对话框界面。 ##### 2. 安全性和用户体验 - **权限问题**: 使用文件夹选择对话框时需要注意权限问题,确保应用有正确的访问权限。 - **用户...

    自定义下拉列表(spinner)

    2. 动画效果:利用Animation API可以为Spinner添加展开和收起的动画效果,提高用户体验。 3. 多选模式:虽然Spinner默认为单选模式,但通过扩展适配器类,实现复选功能并非不可能。 四、注意事项 1. 确保在主线程...

    Beginning Android 4

    - 默认提供的布局文件和代码分析。 - 如何运行和调试Android应用程序。 - **第4章:检查你的第一个项目(Examining Your First Project)** - **主要内容**:深入探讨在第3章创建的第一个项目中的各个文件和目录...

    Go-ui-Go的原生平台GUI库

    - **样式和主题**:虽然ui库的界面风格默认跟随操作系统,但开发者可以根据需求自定义控件的样式和颜色。 - **数据绑定**:可以将UI组件与数据模型绑定,实现双向数据同步,方便地更新界面显示。 - **多线程与...

Global site tag (gtag.js) - Google Analytics