粗略的做了个地图标点功能

首先,去百度注册开发者账号,然后进入到百度地图开放平台

进入到控制台,

创建浏览器端应用,给个安全域名

然后去开发者文档JavaScript里面找地图展示文档,直接怼上去就行的

这个位置秘钥就是刚刚生出的应用ak

/*
initialLongitude:初始经度
initialLatitude:初始纬度
mapLevel:地图显示级别
coordinateArray:地理坐标数组
*/
function creatMap(initialLongitude,initialLatitude,mapLevel,coordinateArray){
// 百度地图API功能
var map = new BMap.Map("allmap"); // 创建Map实例
map.centerAndZoom(new BMap.Point(initialLongitude, initialLatitude), mapLevel); // 初始化地图,设置中心点坐标和地图级别
//添加地图类型控件
/* map.addControl(new BMap.MapTypeControl({
mapTypes:[
BMAP_NORMAL_MAP,
BMAP_HYBRID_MAP
]})); */
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl()); map.setCurrentCity("上海"); // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
var points = new Array(coordinateArray.length);
for(var i = 0;i<points.length;i++){
(function() {
var coordinateInfo = eval(coordinateArray[i]);
//给地图上面标志点
var point = new BMap.Point(coordinateInfo.checkout_longitude,coordinateInfo.checkout_latitude);
points[i] = point;
map.centerAndZoom(point, mapLevel); var icon = "${basePath}/images/baidumap/green.png";
if(coordinateInfo.workorder_status=='3'){
icon = "${basePath}/images/baidumap/red.png";
}
var myIcon = new BMap.Icon(icon, new BMap.Size(25, 30));
var marker = new BMap.Marker(point,{icon:myIcon}); // 创建标注
marker.addEventListener("click", function(){
var opts = {
width : 370, // 信息窗口宽度
height: 130, // 信息窗口高度
title : "服务对象:"+coordinateInfo.client_name // 信息窗口标题
}
var mesage = "执行者:"+coordinateInfo.staff_name+"</br>地址:"+coordinateInfo.client_address+"</br>开始时间:"+getLocalTime(coordinateInfo.workorder_start_time)+"</br>结束时间:"+getLocalTime(coordinateInfo.workorder_end_time);
var infoWindow = new BMap.InfoWindow(mesage, opts); // 创建信息窗口对象
map.openInfoWindow(infoWindow, point); // 打开信息窗口
}); map.addOverlay(marker);
})(); }
map.setViewport(points,2000); }

ok,代码在这儿了,至于for里面的函数,是立即执行某个模块的代码,因为前端函数是异步的,不加会出现闭包问题,这也是从某个前端大佬了解到的,困扰了我一会儿,以上代码仅供参考。

对了,补充一个坑点,demo上面的css地图是100%*100%,如果你的html或者jsp是外部嵌套的,需要指定长宽,不然地图出不来。css小白,不知道怎么去解决,只能这样了

JavaScript对接百度地图api实现地图标点功能的更多相关文章

  1. 百度地图API自定义地图

    http://api.map.baidu.com/lbsapi/creatmap/index.html http://developer.baidu.com/map/index.php?title=w ...

  2. 关于百度地图API的地图坐标转换问题

    原文:关于百度地图API的地图坐标转换问题 我在之前的文章利用html5获取经纬度并且在百度地图中显示位置中使用了百度地图的API来显示html5获取的地理位置,在文中我说过这样的话,我说百度地图的准 ...

  3. 网页嵌入百度地图和使用百度地图api自定义地图的详细步骤

    在网页中插入百度地图 如果想在自己的网页上面加入百度地图的话,可以用百度地图的api.具体使用方法如下: 第一步:进入百度创建地图的网站http://api.map.baidu.com/lbsapi/ ...

  4. 百度地图api根据地图缩放等级显示不同的marker点,功能二

    功能一里面有marker点后台的代码 根据地图的缩放等级显示不同marker点的坐标JSP代码 <%@ page language="java" contentType=&q ...

  5. js调用百度地图API创建地图,搜索位置

    实现代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <met ...

  6. HTML5结合百度地图API创建地图应用

    具体的百度地图API的使用方法查看百度地图API里的DEMO <style> #div1{ width:400px; height:400px; border:1px #000 solid ...

  7. 百度地图API实现地图定位

    1.引用JS: <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0& ...

  8. js调用百度地图API创建地图

    技术交流群:233513714 <html xmlns="http://www.w3.org/1999/xhtml"><head runat="serv ...

  9. 玩转百度地图API(地图,坐标,标记,添加控件,2D图,混合图,智能搜索,地址解析器,信息窗口)

    1.注册得到appkey 2.直接上代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Conte ...

随机推荐

  1. 人见人爱A+B(杭电2033)

    /*人见人爱A+B Problem Description HDOJ上面已经有10来道A+B的题目了,相信这些题目以前是大家的最爱,希望今天的这个A+B能给大家带来好运.也希望这个题目能唤起大家对AC ...

  2. Ubuntu下在Eclipse IDE for C/C++ Developers中怎样执行C语言的GTK程序?(已解决)

    (已解决.详见Ubuntu 12.04下在Eclipse IDE for C/C++ Developers中执行C语言的GTK程序) 按"Ubuntu下GTK的安装.编译和測试"( ...

  3. 模拟IC

    ------ 书籍介绍:http://bbs.eetop.cn/thread-371700-1-1.html -----

  4. hdoj--1518--Square(dfs)

    Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  5. [NOIP 2014] 寻找道路

    [题目链接] http://uoj.ac/problem/19 [算法] 首先,在反向图上从终点广搜,求出每个点是否可以在答案路径中 然后在正向图中求出源点至终点的最短路,同样可以使用广搜 时间复杂度 ...

  6. E20170815-mk

    frame  n. 框架; 边框; 眼镜框; 组织;

  7. yii widget使用的3个用法

    yii视图中使用的widget方式总结:常用的有3种方式:一.显示详细信息: $this->widget('zii.widgets.CDetailView', array( 'data' =&g ...

  8. tpshop编辑框中上传图片过大变模糊

    tpshop编辑框中上传图片过大变模糊 图片超过2500的高就会变模糊 设置最大的高度修改一下

  9. python 实现线程之间的通信

    前言:因为GIL的限制,python的线程是无法真正意义上并行的.相对于异步编程,其性能可以说不是一个等量级的.为什么我们还要学习多线程编程呢,虽然说异步编程好处多,但编程也较为复杂,逻辑不容易理解, ...

  10. Xcode控制台输出中文

    创建一个.m文件,然后将一下代码加入.m文件中即可实现控制台输出中文,具体代码如下: #ifndef Release @implementation NSSet(Log) - (NSString *) ...