在Angular4中使用ng2-baidu-map详解
一、引言
之前在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详解的更多相关文章
- C#中的Linq to Xml详解
这篇文章主要介绍了C#中的Linq to Xml详解,本文给出转换步骤以及大量实例,讲解了生成xml.查询并修改xml.监听xml事件.处理xml流等内容,需要的朋友可以参考下 一.生成Xml 为了能 ...
- Sass map详解
作为一个CSS预处理器,Sass正受到越来越多的青睐,诸如Github.Codepen.CSS-Tricks.SitePoint.w3cplus等网站采用Sass组织.管理CSS文件,Sass正在逐渐 ...
- [ 转载 ] Java开发中的23种设计模式详解(转)
Java开发中的23种设计模式详解(转) 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类 ...
- python中requests库使用方法详解
目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...
- List、Set、Map详解及区别
一.List接口 List是一个继承于Collection的接口,即List是集合中的一种.List是有序的队列,List中的每一个元素都有一个索引:第一个元素的索引值是0,往后的元素的索引值依次+1 ...
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- JQuery在循环中绑定事件的问题详解
JQuery在循环中绑定事件的问题详解 有个页面上需要N个DOM,每个DOM里面的元素ID都要以数字结尾,比如说 ? 1 2 3 <input type="text" nam ...
- 批处理中的echo命令图文详解
批处理中的echo命令图文详解 1. Echo 显示当前ECHO的状态:ECHO ON 或者ECHO OFF 2. ECHO ON 将ECHO状态设置为ON,将显示命令行,也就是前面的C:\>类 ...
- C#中的预处理器指令详解
这篇文章主要介绍了C#中的预处理器指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregio ...
- SVN中tag branch trunk用法详解
SVN中tag branch trunk用法详解 2010-05-24 18:32 佚名 字号:T | T 本文向大家简单介绍一下SVN中tag branch trunk用法,SVN中tag bran ...
随机推荐
- MAC TXT文本
Mac系统下.txt格式的纯文本怎么保存? 作者:佚名 字体:[增加 减小] 来源:互联网 时间:06-02 14:29:23 我要评论 Mac系统下.txt格式的纯文本怎么保存?.txt是个用途广泛 ...
- pyecharts和echarts的混合使用
ECharts是一个由百度开发的纯 Javascript 的图表库,pyecharts是某三位大佬将ECharts移植到Python项目中的产物,在Python网站中可以更轻松的接入图表,但是个人感觉 ...
- [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt
[20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt --//http://blog.itpub.net/267265/viewspace-2646340/=>[2 ...
- 苹果手机Chrome浏览器显示input:disabled时字体颜色总是为浅灰色
今天被测试人员提了个bug:苹果手机浏览器(Chrome)打开h5,控件在input:disabled的样式始终是浅灰色,要求改成黑色.测试对比:1.在多个pc浏览器上浏览input:disabled ...
- 各种windows10下的快捷键
Windows键+ctrl+D 创建虚拟桌面 windows键+Ctrl+方向键 可以切换桌面 windows+tab ctrl+alt+TAB 切换应用 windows+[1-9] 打开任务栏固定的 ...
- vue+node+elementUI实现分页功能
第1===>收集当前页码 和 每页显示条数 第2==>发送ajax请求页码 和 每页显示条数发送给后端 第3===>接收后端返回的数据总条数 total 和 当前页码的数据 data ...
- day45_9_4前端(2)css
一.css的三种css导入: 1.在标签中内部定义(不推荐). 2.在head中的style总定义样式. 3.使用link链接外部的css文件. <!DOCTYPE html> <h ...
- Feign的介绍与使用(五)
一.Feign的介绍 Feign是一个声明式 WebService 客户端,使用Feign能够让编写Web Service 客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持J ...
- 为了Runtime Broke 关了一堆东西
可是,好像还是不行啊?CPU还是用了 10-20% 还得写这个随笔,怕自己关东西关多了,以后还得回复. https://www.drivereasy.com/knowledge/runtime-bro ...
- A1101 Quick Sort (25 分)
一.技术总结 这里的一个关键就是理解调换位置排序是时,如果是元主,那么它要确保的条件就只有两个一个是,自己的位置不变,还有就是前面的元素不能有比自己大的. 二.参考代码 #include<ios ...