美文网首页
腾讯地图开发

腾讯地图开发

作者: 芒果加奶 | 来源:发表于2018-04-19 09:36 被阅读0次

一、 开发环境

react全家桶(react,react-router,redux)

二、功能

定位、省市地图切换、打点、周边搜索


腾讯地图

三、开发

1、加载腾讯地图——利用script标签特性

loadMapScript = () => {
    return new Promise(function(resolve, reject) {
      window.init = function() {
        resolve(window.qqMap);
      };
      var script = document.createElement("script");
      script.type = "text/javascript";
      script.src =
        "http://map.qq.com/api/js?v=2.exp&key=XXX&callback=init";
      script.onerror = reject;
      document.head.appendChild(script);
    });
  };

init() {
    /*eslint-disable no-undef*/
    // 地图中心位置
    var myLatlng = new qq.maps.LatLng(40.22077, 116.23128);
    var myOptions = {
      zoom: 8,
      center: myLatlng
    };
    var qqMap = new qq.maps.Map(this.refs.mapcontainer, myOptions);
  }

2、省市联动

 // 根据城市搜索地图
  searchMapWithCity(city) {
    let map = this.state.qqMap;
    //调用地址解析类
    let geocoder = new qq.maps.Geocoder({
      complete: function(result) {
        map.setCenter(result.detail.location);
      }
    });
    geocoder.getLocation(city);
  }

3、打点

// 腾讯地图地址解析
  searchMapLat(value) {
    let map = this.state.qqMap;
    let _this = this;
    // 地址和经纬度之间进行转换服务
    let geocoder = new qq.maps.Geocoder();
    geocoder.getLocation(value);
    this.clearOverlays(this.state.markers); //清除已有打点
    geocoder.setComplete(function(result) {
      console.log(result.detail.location);
      map.setCenter(result.detail.location);
      map.setZoom(20);
      let marker = new qq.maps.Marker({
        map: map,
        position: result.detail.location
      });

      let markers = [];
      markers.push(marker);
      _this.setState(
        {
          mapInfo: result.detail,
          markers: markers
        },
        () => {
          _this.searchMapNearBy(1, "交通");
        }
      );
    });
    geocoder.setError(function() {
      alert("请输入正确的地址!!!");
    });
  }

4、周边搜索

// 地图周边搜索
  searchMapNearBy(city, value) {
    //设置Poi检索服务,用于本地检索、周边检索
    var searchService = new qq.maps.SearchService({
      pageIndex: 1,
      pageCapacity: 5,
      autoExtend: false,
      complete: function(results) {
        let pois = results.detail.pois;
        console.log(posi)
      },
      //若服务请求失败,则运行以下函数
      error: function() {
        Message.error("周边搜索失败,请重新搜索");
      }
    });
    let myLatlng = _this.state.mapInfo.location;
    searchService.searchNearBy(value, myLatlng, 2000); //根据中心点坐标、半径和关键字进行周边检索。
  }

相关文章

  • 微信小程序使用腾讯地图—路线规划

    想要使用腾讯地图,首先要在腾讯地图开发平台先注册账号,申请key腾讯地图开放平台[https://lbs.qq.c...

  • 微信小程序集成腾讯地图--路线规划

    想要集成腾讯地图,首先要在腾讯地图开发平台先注册账号,申请key腾讯地图开放平台 提交申请之后,key值就算申请好...

  • 腾讯地图开发

    一、 开发环境 react全家桶(react,react-router,redux) 二、功能 定位、省市地图切换...

  • 0825_基于lbs的服务应用开发

    新内容(基于lbs的服务应用开发) lbs公开接口: 百度地图 腾讯地图 Google地图 百度地图接口简单使用 ...

  • iOS地图

    前言 在实际开发中,我们常用的地图无非那几家---- 高德地图、百度地图、腾讯地图、搜狗地图等等。重点说明高德、百...

  • 一文教你跑通3D地图demo

    本教程旨在快速跑通地图demo,适合零基础的开发学习,选用的是腾讯地图的demo,此地图demo能够实现基础的地图...

  • 微信小程序开发:腾讯地图集成步骤

    在腾讯生态开发过程中,包括在微信小程序开发的时候,避免不了使用腾讯送的腾讯大礼包,从微信支付到腾讯地图,一条龙的腾...

  • 腾讯地图 Javascript API使用之地图自定义标记

    腾讯位置服务JavaScript API 是由JavaScript语言开发的地图应用编程接口,在此基础上腾讯位置服...

  • IOS第三方地图

    百度地图高德地图腾讯地图苹果自带地图谷歌地图(中国屏蔽了) 接下来我们说一下百度地图 百度地图SDK继为广大开发者...

  • 腾讯地图——web开发学习

    类型:web开发 JavaScript API 官方文档入口 我是根据自己需求进行阅读的,所以可能蛮多地方不会归...

网友评论

      本文标题:腾讯地图开发

      本文链接:https://www.haomeiwen.com/subject/xmqmhftx.html