zoukankan      html  css  js  c++  java
  • 关于ArcGis for javascript整合百度地图 天地图 高德地图进行搜索

    1.ArcGis for javascript整合百度地图搜索

    1.1.首先引入百度地图的api

    1 <!-- 引入百度地图API -->
    2 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=********"></script>

    1.2.初始化百度地图搜索相关的实例

     1 function initBDMAP() {
     2     bdMap = new BMap.Map('myMap');
     3     lon = 120.00000000;  // 经度
     4     lat = 30.00000000;   // 纬度
     5     bdMap.centerAndZoom(new BMap.Point(lon, lat), 11); // 根据经纬度实例化百度地图, 在进行搜索时, 会默认搜索经纬度所在的城市
     6     const options = {
     7       onSearchComplete(results) {
     8         if (bdMapLocal.getStatus() === BMAP_STATUS_SUCCESS) {
     9             // 运行到这里说明搜索成功, 搜索结果在results对象里面, 处理结果集
    10             ......
    11         }
    12       },
    13     };
    14     bdMapLocal = new BMap.LocalSearch(tdtMap, options); // 初始化百度地图搜索API, 将百度地图实例<bdMap>和回调函数<options>绑定到搜索API
    15 }

    1.3.调用搜索API进行搜索

    bdMapLocal.search(param); // 当调用搜索API的search方法时, 会自动进行搜索, 并且自动进入回调函数

    2.ArcGis for javascript整合天地图搜索

    2.1.引入天地图API

    1 <!-- 引入天地图提供地名搜索服务 -->
    2 <script type="text/javascript" src="http://api.tianditu.com/api?v=4.0"></script>

    2.2.初始化天地图的实例

     1 function initTDTMAP() {
     2     tdtMap = new T.Map('tdtMap');
     3     // 设置显示地图的中心点和级别
     4     lon = 120.00000000;
     5     lat = 30.00000000;
     6     tdtMap.centerAndZoom(new T.LngLat(lon, lat), 12);
     7     const tdtConfig = {
     8         pageCapacity: 50,                         // 一次最多能查询多少条数据
     9         onSearchComplete: TdtLocalSearchResult,   // 接收数据的回调函数
    10     };
    11     // 创建搜索对象
    12     TdtLocalSearch = new T.LocalSearch(tdtMap, tdtConfig);
    13 }

    2.3.创建回调函数

     1 function TdtLocalSearchResult(result) {
     2     // 根据返回类型解析搜索结果
     3     switch (parseInt(result.getResultType(), 10)) {
     4         case 1:
     5             // 解析点数据结果
     6             parsingSearchResults(result.getPois());
     7             break;
     8         case 2:
     9             // 解析其他点数结果
    10             ......
    11             break;
    12         ......
    13         default:
    14             console.log('天地图搜索路名无结果');
    15     }
    16 }

    2.4.处理结果集

    1 function parsingSearchResults(tdtobj) {
    2     if (tdtobj) {
    3         // 处理结果集
    4         for (let i = 0; i < tdtobj.length; i += 1) {
    5             ......
    6         }
    7     }
    8 }

    3.ArcGis for javascript整合高德地图搜索

    3.1.引入高德地图API

    1 <!-- 引入高德地图API -->
    2 <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.2&key=1f675cd5121e2db5ab8bc326d3913373"></script>

    3.2.初始化高德地图

    1 function initGDMAP() {
    2     gdMap = new AMap.Map('myMap', {
    3         resizeEnable: true,
    4     });
    5 }

    3.3.创建搜索的方法以及函数的回调

     1 function gdMapSearchPaging(roadPage, roadSize, param) {
     2     AMap.service(['AMap.PlaceSearch'], () => {
     3         placeSearch = new AMap.PlaceSearch({ // 构造地点查询类
     4             pageSize: roadSize,              // 分页查询的每页显示记录数
     5             pageIndex: roadPage,             // 分页查询的页码参数
     6             city: '0571',                    // 城市编码<高德地图的搜索是根据城市编码进行搜索>
     7             map: gdMap,
     8         });
     9     });
    10     placeSearch.search(param, (status, result) => {
    11         if (roadData.length > 0) {
    12             for (let i = 0; i < 10; i += 1) {
    13                 // 处理结果集
    14                 ......
    15             }
    16         }
    17     });
    18 }
  • 相关阅读:
    php去除字符串(空格,换行,反斜杠)
    周末撸了个Excel框架,现已开源,yyds!!
    Python基础之pytest参数化
    解决 remote: HTTP Basic: Access denied Authentication failed for 'https://'报错
    删除上传 github 中的 .idea 文件夹
    Nacos配置管理最佳实践
    痞子衡嵌入式:在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法
    痞子衡嵌入式:我入选了2021年度与非网(eefocus)星选创作者Top10
    《痞子衡嵌入式半月刊》 第 47 期
    重新iviewUI Modal 组件 ok事件默认直接关闭modal 的行为[Code Snippet]
  • 原文地址:https://www.cnblogs.com/yanwu0527/p/8565705.html
Copyright © 2011-2022 走看看