【原创】web端高德地图javascript API的调用

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

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

高德地图开放平台: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(10);              //setzoom 指定缩放级别
map.setCenter([116.39,39.9]);  //指定地图中心

方式二

var map = new AMap.Map(‘container‘,{
    zoom: 10,
    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();

控件的添加

控件的种类

添加方式

1 AMap.plugin([‘AMap.ToolBar‘, ‘AMap.Scale‘, ‘AMap.MapType‘], function() {
2     toolBar = new AMap.ToolBar();  //工具条
3     scale = new AMap.Scale();    //比例尺
4     mapType = new AMap.MapType();   //地图种类
5     map.addControl(toolBar);
6     map.addControl(scale);
7     map.addControl(mapType);
8 })

删除控件

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: 5,
    pageIndex: 1,
    city: "010", //城市
    map: map,
    panel: "result"
});
//关键字查询
placeSearch.search(‘方恒‘, function(status, result) {
});

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

var placeSearch = new AMap.PlaceSearch({ //构造地点查询类
    pageSize: 5,
    pageIndex: 1,
    city: "010"//城市
});
//关键字查询
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

时间: 2024-11-02 14:37:56

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

高德地图JavaScript API开发研究

原文:高德地图JavaScript API开发研究 高德地图JavaScript API是一套用JavaScript 语言编写的应用程序接口,可以通过各种API接口向地图添加内容,创建功能丰富.交互性强的地图应用.高德地图JavaScript API 提供了大量的实用工具和富有特色的插件功能,并提供了搜索和路线规划等服务. 1.首先 2.然后 3.最后就是看官方文档开发 高德地图API使用介绍:http://lbs.amap.com/api/javascript-api/guide-2/map_

百度地图 JavaScript API极速版 开发体会

前段时间百度地图API推出了 JavaScript API 极速版 1.0 简单看了一下,从产品定位来说真是挺好. 把开发者细分成普通web开发者和移动web开发者.正好用到了手机地图这块决定尝试一下.先看一下百度地图官方对它的定义.     本套百度地图API是专为手机浏览器提供的API,您可使用该套API,在手机页面中展示地图.标注位置.检索poi.查询线路等. 特点: 较同时兼容PC和手机浏览器的JavaScript API大众版而言,该版更适配移动设备,体积更小,加载地图速度更快,更省流

高德地图 js api 使用

使用高德地图js api 制作网页上的地图应用. 1.先申请一个 开发者用的 key . 2. 在页面中引入高德提供的地图js  <script src="http://webapi.amap.com/maps?v=1.3&key=您申请的key"></script> 完成以上两步就可以在页面中加载 高德地图了. 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charse

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

在项目中,调用百度地图JavaScript API,做覆盖物的旋转再添加到地图上,结果出现偏移了. 调试过程中的效果图: 发现图片的旋转并不是按车子的中心来的,而是之外的一个点.最后发现犯了一个很细节的错: <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); var point = new BMap.Point(121.38750613, 31.17

百度地图JavaScript API使用

最近在完成优达学城前端开发(入门)课程的P4项目中,要求调用google地图进行交互,项目已提供部分js代码和html代码.但在申请google地图API密钥时由于网络等原因,打不开或者连接超时,所以想着地图应该是相似的,百度地图可能也能实现这样的功能,于是就开始了百度地图JavaScript API使用的学习探究了. 简单介绍:百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用,包含了构建地图基本功能的各

[Baidu Map]百度地图 JAVASCRIPT API V2.0 大众版 工具类

关键代码: /* *@description 百度地图 JAVASCRIPT API V2.0 大众版 工具类 *@author YanZhiwei *@see http://developer.baidu.com/map/reference/index.php *@email [email protected] */ (function () { map = {}; infoWindow = {}; BmapUtils = { CONSTANT: { DYNAMIC_CITY: "上海&quo

百度地图 JavaScript API 极速版 开发体会

前段时间百度地图API推出了 JavaScript API 极速版 1.0 简单看了一下,从产品定位来说真是挺好. 把开发人员细分成普通web开发人员和移动web开发人员.正好用到了手机地图这块决定尝试一下.先看一下百度地图官方对它的定义. 尊重劳动成功请保留原文地址:http://blog.csdn.net/lbsnews/article/details/29368879     本套百度地图API是专为手机浏览器提供的API,您可使用该套API,在手机页面中展示地图.标注位置.检索poi.查

wex5 实战 百度地图JavaScript API 集成

wex5里提供了一个bMap组件来调用百度地图,在百度地图api里,有许多版本的api供开发者调用.在wex5开发里,JavaScript API 集成,经过测试,成功.今天从0开始一步一步操作,将来会制作更复杂的地图与定位效果,大家共同学习,共同进步. 一 演示效果: 二 设计思路: 用html页面,装入百度地图,再将html页面放入iframe页中. 三 代码实现: 1  申请百度会员,并申请百度api ak(开发者密钥) 所有的第三方集成都需要密钥,相当于为当前的用户请求分配的一个id,服

web集成高德地图

1.使用高德地图API需到官网添加一个Key,http://lbs.amap.com/dev/key/app 2.页面头引入 <div id="addressMap"></div> <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.6&key=申请的key值"></script> 3.js里面代码如下