一、引言

之前在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:trueenableAutoResize: true,  // 是否可以自动调整大小,default:trueenableMapClick: true,  // 地图是否可以点击,default:truedisableDragging: false, // 是否禁用地图拖动功能enableScrollWheelZoom: true, // 是否启用滚轮进行缩放功能disableDoubleClickZoom: false, // 是否禁用双击缩放功能enableKeyboard: true,  // 是否启用键盘移动地图功能enableInertialDragging: false,     // 是否启用惯性阻力函数enableContinuousZoom: true,  // 是否启用连续缩放功能disablePinchToZoom: false,   // 是否禁用缩放功能的缩放cursor: '',         // 设置默认的光标样式,应该遵循CSS规范draggingCursor: '', // 设置默认的拖动光标样式,应该遵循CSS规范currentCity: '苏州市',   // 设置当前的城市
    };// 这是地图标记markerthis.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,    // 纬度
        }}];// 这是控件controlthis.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 没有属性
  }
}

效果预览

转载于:https://www.cnblogs.com/dawnwill/p/11046126.html

在Angular4中使用ng2-baidu-map详解相关推荐

  1. java中list和map详解

    java中list和map详解 一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedL ...

  2. java中set和ge什么么意思,java的Collection和Map详解

    java的Collection和Map详解 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文 ...

  3. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  4. php小程序地图处理,微信小程序 地图map详解及简单实例

    微信小程序 地图map 微信小程序map 地图属性名类型默认值说明longitudeNumber中心经度 latitudeNumber中心纬度 scaleNumber1缩放级别 markersArra ...

  5. 网页设计中的默认字体样式详解

    浏览器默认的样式往往在不同的浏览器.不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如 果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏 ...

  6. 聚类 python_python中实现k-means聚类算法详解

    算法优缺点: 优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢 使用数据类型:数值型数据 算法思想 k-means算法实际上就是通过计算不同样本间的距离来判断他们的相近关系的,相近 ...

  7. JAR包中的MANIFEST.MF文件详解以及编写规范

    JAR包中的MANIFEST.MF文件详解以及编写规范 参考百度百科的解释如下: http://baike.baidu.com/item/MANIFEST.MF MANIFEST.MF:这个 mani ...

  8. 手机摄影中多摄融合理论详解与代码实战

    转载AI Studio项目链接https://aistudio.baidu.com/aistudio/projectdetail/3465839 手机摄影中多摄融合理论详解与代码实战 前言   从20 ...

  9. java map详解

    java map详解 Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象.其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类 ...

  10. python中selenium模块驱动谷歌详解

    python中selenium模块驱动谷歌详解 Selenium的介绍.配置和调用 Selenium(浏览器自动化测试框架) 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中 ...

最新文章

  1. java validation_java bean validation 参数验证
  2. [摘录]遇见未知的自己(一)
  3. rssi室内定位算法原理_智慧定位系统之蓝牙网关在室内定位技术的原理浅析
  4. Qt 错误: 无法启动此程序 因为计算机丢失QtCore5.dll
  5. Oracle数据库中表格的级联删除问题
  6. RabbitMQ的简单示例
  7. 分布式系统唯一ID设计
  8. 牛客竞赛,ZUST第17届公开赛,摸鱼记(A、DEFGH、J题解,3/7题代码)
  9. parallel(parallelStream)并发问题
  10. Learn ZYNC (6)
  11. Sakai Demo搭建及遇到的问题汇总
  12. Windows下安装Ruby及配置镜像源
  13. C++实现简单钢琴(文件读取 - 播放曲谱)
  14. 网页右侧悬浮QQ在线客服代码
  15. mysql源码解读——内存管理MEM_ROOT
  16. 华为OD机试 - 乱序整数序列两数之和绝对值最小
  17. 机器视觉镜头的计算方法
  18. 2019双十一自动领喵币
  19. Python-自学爬虫篇
  20. 小米手机开启“启用MIUI优化”,导致Android Studio无法成功直接安装

热门文章

  1. Tomcat unable to start within 45 seconds.
  2. ThinkPHP 数据库表结构处理类(简单实用)
  3. EasyUI datagrid动态加载json数据
  4. 2016年CCPC/ICPC比赛总结
  5. Serlvet学习笔记之四—对文件的操作
  6. 程序员应该具备的十个项目习惯
  7. js、jquery相关的操作
  8. 医疗信息化:高可用、安全两手都要硬
  9. 凭啥Java运行环境称虚拟机 Python只能称解释器
  10. iOS—如何申请苹果公司开发者账号流程详细图文介绍(包括邓白氏编码的申请方法详细介绍)...