我们可以进入百度API的网站学习百度地图API:http://dev.baidu.com/wiki/map/index.php,看完这些你应该基本上会掌握了,还有一些显示地图中一些很神奇的效果,需要一些别人写好的类库,我们可以查看学习,并下载其API源代码:http://dev.baidu.com/wiki/map/index.php?title=MapLibrary

以下是自己在学习中所写的测试代码,有详细的注解,希望对大家学习有所帮助:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="viewport" content="initial"
<meta name="Author" content="initial-scale=1.0,user-scalable=no">
<meta name="Keywords" content="">
<meta name="Description" content="">
<!--设置样式,使地图充满整个浏览器窗口-->
<style type="text/css">
html{height:100%}
body{height:100%;margin:0px;padding:0px}
#container{height:100%}
</style>
<!--引用百度地图的api,其中v代表版本-->
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head> <body>
<div id="container"></div><!--地图容器-->
<script type="text/javascript">
//创建一个地图实例,参数可以是元素id也可以是元素对象,其中BMap是百度地图API里面的命名空间
var map=new BMap.Map("container");
var point=new BMap.Point(116.404,39.915);//创建一个坐标点,其中116表示经度,39表示纬度
//创建地图实例后,必须对其进行初始化,初始化后才能进行其它的操作,该方法设置中心点坐标和地图级别
map.centerAndZoom(point,15);
//启用轮滚进行放大缩小,默认为禁用
map.enableScrollWheelZoom();
//向地图添加控件
map.addControl(new BMap.NavigationControl());//平移缩放控件,默认在地图左上方
map.addControl(new BMap.ScaleControl());//比例尺控件,默认在地图左下方
map.addControl(new BMap.OverviewMapControl());//缩略图控件,默认在地图右下方 //控制控件的位置,anchor:表示停靠在地图的哪个脚,offset指定偏移量,离地图边界相隔多少像素
var opts={anchor:BMAP_ANCHOR_TOP_RIGHT,offset:new BMap.Size(10,10)};
map.addControl(new BMap.NavigationControl(opts)); //用户自定义控件需要通过JS中的prototype属性继承BMap.Control //地图覆盖物(标注、矢量图形元素和信息窗口等) var marker=new BMap.Marker(point); //创建标注
map.addOverlay(marker);//将标注添加到地图中
marker.enableDragging();//表示标注可拖拽,默认不可
// 监听标注点击事件
marker.addEventListener("click",function(){
alert("你点击了标注");
});
//监听标注拖拽位置事件
marker.addEventListener("dragend",function(e){
alert("当前位置:"+e.point.lng+","+e.point.lat);//表示经纬度
}); var opts2={width:250,height:100,title:"hello"};//信息窗口
var infoWindow=new BMap.InfoWindow("world",opts2);//创建信息窗口对象
map.openInfoWindow(infoWindow,map.getCenter());//打开信息窗口 var tilelayer=new BMap.TileLayer();//创建地图层实例
tilelayer.getTilesUrl=function(){//设置图块路径
return "layer.gif";
};
map.addTileLayer(tilelayer);//将图层添加到地图上 //var myPushpin=new BMap.PushpinTool(map);//创建标注工具实例
//myPushpin.addEventListener("markend",function(e){
// alert("你标注的位置:"+e.marker.getPoint().lng+","+e.marker.getPoint().lat);
//});
// myPushpin.open();//开启标注工具 //创建搜索实例,并将结果展现在地图实例上
var local=new BMap.LocalSearch(map,{
renderOptions:{map:map,panel:"results"}//搜索结果自动添加到搜索结果列表容器中
});
local.search("长沙");//搜索长沙 //下面是对地图的一些操作,等待两秒钟后,它会移动到新的中心点
// window.setTimeout(function(){
//map.panTo(new BMap.Point(116.409,39.918));
// },2000); </script> </body> </html>

百度地图API的学习的更多相关文章

  1. 百度地图api简单使用方法

    百度地图API的使用方法   百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html&g ...

  2. 百度地图API的使用方法

    百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head& ...

  3. 百度地图API使用介绍

    百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head& ...

  4. 【百度地图API】自行获取区域经纬度的工具

    原文:[百度地图API]自行获取区域经纬度的工具 摘要:上一章教大家如何建立自己的行政区域地图.这次为大家提供一个,可视化选择区域,并且能自动生成经纬度代码的工具.工具的源代码完全公开,并且做了详尽的 ...

  5. android菜鸟学习笔记30----Android使用百度地图API(一)准备工作及在应用中显示地图

    1.准备工作: 百度地图API是免费开放的,但是需要申请API Key: 1)先注册一个百度开发者帐号 2)进入百度开放服务平台http://developer.baidu.com/ 3)进入LBS云 ...

  6. Java web与web gis学习笔记(二)——百度地图API调用

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  7. 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]

    ZMap 类 功能介绍 ZMap 是学习百度地图 api 接口,开发基本功能后整的一个脚本类,本类方法功能大多使用 prototype 原型 实现: 包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐 ...

  8. Winform实现用多线程、百度地图API解析某公司的物理地址

    前言 作为一个很挫的C#新手总喜欢自己写点儿不着边际的东西,本人是个新手加菜鸟,写B/S的,工作中,任务完成了,空闲下来,总想继续学点儿什么,由此触发了本篇文章了.个人一直认为,.NET中,C/S所要 ...

  9. 百度地图开发的学习(一)——配置环境&基础地图

    由于项目需求缘故,最近在学习Android地图的开发,所以就记录一下学习过程.最近都会陆续更新啦.目前使用百度地图API的挺多的,所以就先以它为基础学习一些地图的调用. 一.AK的申请 与web开发不 ...

随机推荐

  1. java new 关键字到底做了什么?

    一.关键字new概述 "new"可以说是Java开发者最常用的关键字,我们使用new创建对象,使用new并通过类加载器来实例化任何我们需要的东西,但你是否深入了解过new在编译的瞬 ...

  2. 解决$.ajax()在IE10以下失效的问题

    一.问题重现 本地的脚本请求测试环境的接口 $.ajax({ url: ***, type: GET, data: data, success: function (data) { **** } }) ...

  3. pm2进阶使用

    启用集群模式 只需要在启动应用时带上i参数 pm2 start app.js -i max max:意味着PM2将自动检测可用的CPU数量和运行多个进程可以在负载均衡模式(但是不推荐使用) 或者使用j ...

  4. python实现编写windows服务

    使用python编写windows服务 最近测试服务器上经常发生磁盘空间不足,每次手动清除比较麻烦,所以写个windows服务定时清理下.中间也遇到过几个坑,一起记录下来. 1.python实现win ...

  5. Node.js 定时器

    稳定性: 5 - 锁定 所有的定时器函数都是全局的.不需要通过 require() 就可以访问. setTimeout(callback, delay[, arg][, ...]) delay 毫秒之 ...

  6. Java实验链接

    第1次实验 课堂实验内容:Java入门+Eclipse+PTA+Git+博客 实验任务书:第01次试验(安装JDK.编辑器.编写出第一个Java程序).pdf Eclipse简明教程(by郑如滨).p ...

  7. C++后台实践:古老的CGI与Web开发

    本文写给C/C++程序猿,也适合其他对历史感兴趣的程序猿 ============================================= 谈到web开发,大家首先想到的PHP.JavaEE ...

  8. Android自定义底部带有动画的Dialog

    Android自定义底部带有动画的Dialog 效果图 先看效果图,是不是你想要的呢 自定义Dialog package --.view; import android.app.Dialog; imp ...

  9. Docker学习笔记1:CentOS7 下安装Docker

    本文内容摘自官网:https://docs.docker.com/engine/installation/linux/centos/#/create-a-docker-group 注:本文是介绍Lin ...

  10. 理解性能的奥秘——应用程序中慢,SSMS中快(2)——SQL Server如何编译存储过程

    本文属于<理解性能的奥秘--应用程序中慢,SSMS中快>系列 接上文:理解性能的奥秘--应用程序中慢,SSMS中快(1)--简介 本文介绍SQL Server如何编译存储过程并使用计划缓存 ...