详解在Angular4中使用ng2-baidu-map的方法


Posted in Javascript onJune 19, 2019

一、引言

之前在Angular4使用过百度地图,记录一下踩过的坑

二、实现

1.安装

npm install angular2-baidu-map

2.在app.module.ts配置

ak key在http://lbsyun.baidu.com/apiconsole/key中创建

import { BrowserModule } from '@angular/platform-browser'
import { NgModule } from '@angular/core'
import { AppComponent } from './app.component'
import { BaiduMapModule } from 'angular2-baidu-map'
@NgModule({
 declarations: [AppComponent],
 imports: [BrowserModule, BaiduMapModule.forRoot({ ak: 'your ak' })],
 providers: [],
 bootstrap: [AppComponent]
})
export class AppModule {}

3.在app.component.html使用

<div style="height: 500px;width: 900px;" >
 <baidu-map [options]="opts" >
  <!--<marker [point]="point" [options]="markOpts" (loaded)="" (clicked)=""></marker>-->
  <marker *ngFor="let marker of markers" [point]="marker.point" [options]="marker.options"></marker>
  <!--导航控件-->
  <control type="navigation" [options]="controlOpts"></control>
  <!--地图全景控件-->
  <control type="overviewmap" [options]="overviewmapOpts"></control>
  <!--比例尺-->
  <control type="scale" [options]="scaleOpts"></control>
  <!--地图类型-->
  <control type="maptype" [options]="mapTypeOpts"></control>
  <control type="geolocation" [options]="geolocationOpts"></control>
 </baidu-map>
</div>

4.在app.component.ts

import {Component, OnInit} from '@angular/core';
import {
 MapOptions, Point, MarkerOptions, NavigationControlOptions, ControlAnchor,
 NavigationControlType, OverviewMapControlOptions, ScaleControlOptions, MapTypeControlOptions, MapTypeControlType,
 GeolocationControlOptions
} from 'angular2-baidu-map';
@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.sass']
})
export class AppComponent {
 public opts: MapOptions;
 public markers: Array<{ point: Point; options?: MarkerOptions }>;
 public controlOpts: NavigationControlOptions;
 public overviewmapOpts: OverviewMapControlOptions;
 public scaleOpts: ScaleControlOptions;
 public mapTypeOpts: MapTypeControlOptions;
 public geolocationOpts: GeolocationControlOptions;
 // 文字标注
 public text: string;
 public onMarkerLoad(marker: any) {
  const label = new window.BMap.Label('文字标注‘, {
   offset: new window.BMap.Size(20, -12)
  });
  label.setStyle({
   border: '1px solid #d81e06',
   color: '#d81e06',
   fontSize: '10px',
   padding: '1px'
  });
  marker.setLabel(label);
 }
 constructor() {
  this.opts = {
   centerAndZoom: {   // 设置中心点和缩放级别
    lng: 120.62,  // 经度
    lat: 31.32,  // 纬度
    zoom: 15      // 缩放级别
   },
   minZoom: 3, // 最小缩放级别的地图
   maxZoom: 19, // 最大缩放级别的地图
   enableHighResolution: true, // 是否用高分辨率的地图,default:true
   enableAutoResize: true, // 是否可以自动调整大小,default:true
   enableMapClick: true, // 地图是否可以点击,default:true
   disableDragging: false, // 是否禁用地图拖动功能
   enableScrollWheelZoom: true, // 是否启用滚轮进行缩放功能
   disableDoubleClickZoom: false, // 是否禁用双击缩放功能
   enableKeyboard: true, // 是否启用键盘移动地图功能
   enableInertialDragging: false,   // 是否启用惯性阻力函数
   enableContinuousZoom: true, // 是否启用连续缩放功能
   disablePinchToZoom: false,  // 是否禁用缩放功能的缩放
   cursor: '',     // 设置默认的光标样式,应该遵循CSS规范
   draggingCursor: '', // 设置默认的拖动光标样式,应该遵循CSS规范
   currentCity: '苏州市',  // 设置当前的城市
  };
 
  // 这是地图标记marker
  this.markers = [
   {
    options: {
     icon: {
      imageUrl: '/assets/1.jpg',
      size: {
       height: 60,
       width: 50
      }
     },
     title: 'asdkjgaslfkjasd'
    },
    point: {
     lng: 120.62,  // 经度
     lat: 31.32,  // 纬度
    }
   },
   {
    point: {
     lng: 120.63,  // 经度
     lat: 31.32,  // 纬度
    }
   },
   {
    point: {
     lng: 120.63,  // 经度
     lat: 31.31,  // 纬度
    }
   }
  ];
  // 这是控件control
  this.controlOpts = {     // 导航控件
   anchor: ControlAnchor.BMAP_ANCHOR_TOP_LEFT,   // 显示的控件的位置
   type: NavigationControlType.BMAP_NAVIGATION_CONTROL_LARGE,  // 用来描述它是什么样的导航
   offset: {                    // 控件的大小
    width: 30,
    height: 30
   },
   showZoomInfo: true,               // 是否展示当前的信息
   enableGeolocation: true             // 是否启用地理定位功能
  };
  this.overviewmapOpts = {  // 地图全景控件
   anchor: ControlAnchor.BMAP_ANCHOR_BOTTOM_RIGHT, // 显示的控件的位置
   isOpen: true                  
  };
  this.scaleOpts = {     // 比例尺控件
   anchor: ControlAnchor.BMAP_ANCHOR_BOTTOM_LEFT
  };
  this.mapTypeOpts = {    // 地图类型
   type: MapTypeControlType.BMAP_MAPTYPE_CONTROL_HORIZONTAL
  };
  // Geolocation 和Panorama 没有属性
 }
}

效果预览

详解在Angular4中使用ng2-baidu-map的方法

总结

以上所述是小编给大家介绍的详解在Angular4中使用ng2-baidu-map的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
中国地区三级联动下拉菜单效果分析
Nov 15 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
javascript基本包装类型介绍
Apr 10 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
Jun 01 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
Nov 23 Javascript
jQuery实现字符串全部替换的方法
Dec 12 Javascript
基于vue实现swipe轮播组件实例代码
May 24 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 Javascript
js微信分享接口调用详解
Jul 23 Javascript
基于小程序请求接口wx.request封装的类axios请求
Jul 02 Javascript
javascript对象3个属性特征
Nov 17 Javascript
了解Javascript中函数作为对象的魅力
Jun 19 #Javascript
利用vue-i18n实现多语言切换效果的方法
Jun 19 #Javascript
使用JQuery自动完成插件Auto Complete详解
Jun 18 #jQuery
使用异步controller与jQuery实现卷帘式分页
Jun 18 #jQuery
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
Jun 18 #jQuery
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 #jQuery
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 #jQuery
You might like
分享PHP header函数使用教程
2013/09/05 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
php实现的简易扫雷游戏实例
2015/07/09 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
理解Python中的类与实例
2015/04/27 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
开办大学饮食联盟创业计划书
2014/01/29 职场文书
《称象》教学反思
2014/04/25 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
同意落户证明
2015/06/19 职场文书
个人业务学习心得体会
2016/01/25 职场文书
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript