关于第三放地图的使用,腾讯、百度、高德

具体怎么选择看你自己怎么选择了。

高德地图开放平台:http://lbs.amap.com/

本次使用的是高德的javascript API http://lbs.amap.com/api/javascript-api/summary/

使用方法

1.注册成为高德地图开发者,创建应用后申请key。

2.引入高德地图API

<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=您申请的key值"></script>

3.创建地图容器

<div id="container"></div>   //width:300px; height: 180px;  指定大小样式

4.创建默认地图

方式一

var map = new AMap.Map('container');
map.setZoom(); //setzoom 指定缩放级别
map.setCenter([116.39,39.9]); //指定地图中心

方式二

var map = new AMap.Map('container',{
zoom: ,
center: [116.39,39.9]//new AMap.LngLat(116.39,39.9)
});

现在地图就出来

常用的地图操作:

  1. 搜索地点
  2. 添加标记
  3. 缩放比例尺空间
  4. 地图类型转换
  5. 路线指定

添加标记

marker = new AMap.Marker({
position: [116.39, 39.9], //标记的地图坐标
map: map
});

如果是多个地点标记可以使用数组。遍历循环标记

for(var p in markers) {
marker = new AMap.Marker({
position: markers[p],
map: map
});
}

点标注可以添加参数 自定义图标

var marker = new AMap.Marker({
icon : 'http://vdata.amap.com/icons/b18/1/2.png',//24px*24px //自定义图标
position : provinces[i].center.split(','),
offset : new AMap.Pixel(-12,-12),
map : mapObj
});

清楚标记

marker.setMap();

控件的添加

控件的种类

添加方式

 AMap.plugin(['AMap.ToolBar', 'AMap.Scale', 'AMap.MapType'], function() {
toolBar = new AMap.ToolBar(); //工具条
scale = new AMap.Scale(); //比例尺
mapType = new AMap.MapType(); //地图种类
map.addControl(toolBar);
map.addControl(scale);
map.addControl(mapType);
})

删除控件

map.removeControl(toolBar);

地图搜索

关键字搜索插件提供某一特定地区的兴趣点位置查询服务。允许设置搜索城市、搜索数据类别、搜索结果详略、搜索结果排序规则等。用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息。

使用插件之前,需要使用AMap.service方法加载插件,然后在回调函数中可以进行服务的设定和查询:

关键字搜索插件以及公交换乘插件(AMap.Transfer)、驾车(AMap.Driving)步行(AMap.Walking)路径规划插件、云图插件(AMap.CloudDataSearch)都有两种使用方式:

第一种,在构造函数里传入map或panel参数,或两者都传入。map为AMap.Map实例,panel为div元素或其id号。一旦传入,api会自动为用户生成交互面板和地图展示。用户自己控制div的显示位置及大小,api生成的交互面板和地图展示的皮肤格调可以通过修改样式来实现,样式名可以通过浏览器的调试工具查看。实际上,面板的生成及地图展示是用独立的渲染插件实现的,用户可以把渲染插件下载下来任意修改默认皮肤的样式及结构。代码示例:

var placeSearch = new AMap.PlaceSearch({ //构造地点查询类
pageSize: ,
pageIndex: ,
city: "", //城市
map: map,
panel: "result"
});
//关键字查询
placeSearch.search('方恒', function(status, result) {
});

第二种,直接使用服务返回的数据,构造的option中不写map和panel属性,在search方法中传入回调函数,如:

var placeSearch = new AMap.PlaceSearch({ //构造地点查询类
pageSize: ,
pageIndex: ,
city: ""//城市
});
//关键字查询
placeSearch.search('方恒', function(status, result) {
//TODO:开发者使用result自己创建交互面板和地图展示 result返回的一组包含地点信息的对象
});

输入提示

AMap.Autocomplete根据输入关键字提示匹配信息,“输入提示”经常和“地点搜索”配合使用,允许用户根据输入提示匹配结果,进行相关POI搜索。您可以根据“输入提示”匹配信息,将Poi类型和城市作为输入提示和限制条件,并自定义回调函数来显示查询到的结果。当请求查询失败后,系统会返回错误信息。在使用插件之前,需要使用AMap.plugin方法加载插件,然后在回调函数中可以进行服务的设定和查询:

AMap.plugin('AMap.Autocomplete',function(){//回调函数
//实例化Autocomplete
var autoOptions = {
city: "", //城市,默认全国
input:"input_id"//使用联想输入的input的id
};
autocomplete= new AMap.Autocomplete(autoOptions);
//TODO: 使用autocomplete对象调用相关功能
})

  

输入提示与POI搜索结合

通常联想输入提示与POI搜索结合使用,直接显示出搜索结果。

AMap.plugin(['AMap.Autocomplete','AMap.PlaceSearch'],function(){
var autoOptions = {
city: "北京", //城市,默认全国
input: "input"//使用联想输入的input的id
};
autocomplete= new AMap.Autocomplete(autoOptions);
var placeSearch = new AMap.PlaceSearch({
city:'北京',
map:map
});
AMap.event.addListener(autocomplete, "select", function(e){
//TODO 针对选中的poi实现自己的功能
placeSearch.search(e.poi.name)
});
});

附上链接写的小demo:http://runjs.cn/detail/dgc6rjoo

【原创】web端高德地图javascript API的调用的更多相关文章

  1. web端高德地图javascript API的调用

    [转载https://www.cnblogs.com/zimuzimu/p/6202244.html]web端高德地图javascript API的调用 关于第三放地图的使用,腾讯.百度.高德 具体怎 ...

  2. 高德地图 JavaScript API 开发系列教程(一)

    高德地图 API 提供包括 Web API 即 JavaScript API,Android API,定位API,IOS API,WP API,Win8 API等,本系列教程主要针对高德 JavaSc ...

  3. 高德地图JavaScript API开发研究

    高德地图JavaScript API是一套用JavaScript 语言编写的应用程序接口,可以通过各种API接口向地图添加内容,创建功能丰富.交互性强的地图应用.高德地图JavaScript API ...

  4. 高德地图 JavaScript API 开发系列教程(二)

    上节简单介绍高德地图JavaScript API及网页中基本地图展示.有了地图后我们可以用来做什么?有人说离我最近的超市在哪里,我怎么去?别急,这些功能我们后面都会慢慢实现.今天为大家详细讲解如何在地 ...

  5. 高德地图Javascript API设置域名白名单

    在涉及到GPS地图相关应用的开发过程中,我们需要在高德开放平台注册相应的账号,并设置好相应应用来获取调用的Key值,该Key值直接放入到网站前端页面,针对任何人来说都可看到,因此我们防止他人盗用你的K ...

  6. 高德地图 js api 使用

    使用高德地图js api 制作网页上的地图应用. 1.先申请一个 开发者用的 key . 2. 在页面中引入高德提供的地图js  <script src="http://webapi. ...

  7. 在谷歌地图上绘制行政区域轮廓【结合高德地图的API】

    实现思路: 1.利用高德地图行政区域API获得坐标列表 2.将坐标列表绘制在谷歌地图上[因为高德地图和国内的谷歌地图都是采用GCJ02坐标系,所有误差很小,可以不进行坐标误差转换] 注意点: 1.用百 ...

  8. 百度地图JavaScript API覆盖物旋转时出现偏移

    在项目中,调用百度地图JavaScript API,做覆盖物的旋转再添加到地图上,结果出现偏移了. 调试过程中的效果图: 发现图片的旋转并不是按车子的中心来的,而是之外的一个点.最后发现犯了一个很细节 ...

  9. 百度地图JavaScript API使用

    最近在完成优达学城前端开发(入门)课程的P4项目中,要求调用google地图进行交互,项目已提供部分js代码和html代码.但在申请google地图API密钥时由于网络等原因,打不开或者连接超时,所以 ...

随机推荐

  1. C#-WebForm-Session、Cookie-登录验证(未登录跳至登录界面)、隐藏地址栏传值

    Post 传值(看不见的传值) Get 传值(看得见的传值) Session - 全局变量组 存放位置:服务端 作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量 -- object类 ...

  2. 事件DOMContentLoaded和load的区别

    1.当 onload 事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了. 2.当 DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,f ...

  3. 北京培训记day4

    智商题QAQ-- T1:求>=n的最小素数,n<=10^18 暴力枚举n-n+100,miller-rabin筛法 T2:给定一个01矩阵,每次选择一个1并将(x,y)到(1,1)颜色反转 ...

  4. springboot: mybatis集成参考

    http://blog.csdn.net/isea533/article/details/50359390

  5. Summary - SNMP Tutorial

    30.13 Summary Network management protocols allow a manager to monitor and control routers and hosts. ...

  6. Python OOP(面向对象编程)

    一OOP的作用 在Python中,类是面向对象设计(OOP)的主要工具.通过使用类这种工具,OOP可以: 1.分解代码,最小化代码的冗余. 2.通过定制现有的代码,来编写新的程序,而不用在原处进行修改 ...

  7. Node.js中exports与module.exports的区别

    原文:http://www.hacksparrow.com/node-js-exports-vs-module-exports.html 你肯定对Node.js模块中用来创建函数的exports对象很 ...

  8. 各种主流浏览器CSS、BUG兼容

    1.div的垂直居中问题 vertical-align:middle;将行距增加到和整个DIV一样高 line-height:200px;然后插入文字,就垂直居中了.缺点是要控制内容不要换行.---- ...

  9. Vue.js 整理笔记

    以前我们用Jquery进行dom的操作,虽然熟悉后开发效率很高,但是如果多个控件的相互操作多的情况下,还是会乱.相比之下,Vue的使用更加清晰,通过虚拟dom将数据绑定,而且组件化和路由的帮助下,让整 ...

  10. Javascript的原型链图

    90%的前端或者js程序员或者老师们对Javascript懂得不比这个多 给手机看的 但是这个图里的所有褐色单向箭头链就是Javascript的原型链(颜色标注对理解js原型链很关键) 这图中的各个_ ...