詳解在Angular4中使用ng2-baidu-map的方法
一、引言
之前在Angular4使用過(guò)百度地圖,記錄一下踩過(guò)的坑
二、實(shí)現(xiàn)
1.安裝
npm install angular2-baidu-map
2.在app.module.ts配置
ak key在http://lbsyun.baidu.com/apiconsole/key中創(chuàng)建
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> <!--導(dǎo)航控件--> <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;
// 文字標(biāo)注
public text: string;
public onMarkerLoad(marker: any) {
const label = new window.BMap.Label('文字標(biāo)注‘, {
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: { // 設(shè)置中心點(diǎn)和縮放級(jí)別
lng: 120.62, // 經(jīng)度
lat: 31.32, // 緯度
zoom: 15 // 縮放級(jí)別
},
minZoom: 3, // 最小縮放級(jí)別的地圖
maxZoom: 19, // 最大縮放級(jí)別的地圖
enableHighResolution: true, // 是否用高分辨率的地圖,default:true
enableAutoResize: true, // 是否可以自動(dòng)調(diào)整大小,default:true
enableMapClick: true, // 地圖是否可以點(diǎn)擊,default:true
disableDragging: false, // 是否禁用地圖拖動(dòng)功能
enableScrollWheelZoom: true, // 是否啟用滾輪進(jìn)行縮放功能
disableDoubleClickZoom: false, // 是否禁用雙擊縮放功能
enableKeyboard: true, // 是否啟用鍵盤移動(dòng)地圖功能
enableInertialDragging: false, // 是否啟用慣性阻力函數(shù)
enableContinuousZoom: true, // 是否啟用連續(xù)縮放功能
disablePinchToZoom: false, // 是否禁用縮放功能的縮放
cursor: '', // 設(shè)置默認(rèn)的光標(biāo)樣式,應(yīng)該遵循CSS規(guī)范
draggingCursor: '', // 設(shè)置默認(rèn)的拖動(dòng)光標(biāo)樣式,應(yīng)該遵循CSS規(guī)范
currentCity: '蘇州市', // 設(shè)置當(dāng)前的城市
};
// 這是地圖標(biāo)記marker
this.markers = [
{
options: {
icon: {
imageUrl: '/assets/1.jpg',
size: {
height: 60,
width: 50
}
},
title: 'asdkjgaslfkjasd'
},
point: {
lng: 120.62, // 經(jīng)度
lat: 31.32, // 緯度
}
},
{
point: {
lng: 120.63, // 經(jīng)度
lat: 31.32, // 緯度
}
},
{
point: {
lng: 120.63, // 經(jīng)度
lat: 31.31, // 緯度
}
}
];
// 這是控件control
this.controlOpts = { // 導(dǎo)航控件
anchor: ControlAnchor.BMAP_ANCHOR_TOP_LEFT, // 顯示的控件的位置
type: NavigationControlType.BMAP_NAVIGATION_CONTROL_LARGE, // 用來(lái)描述它是什么樣的導(dǎo)航
offset: { // 控件的大小
width: 30,
height: 30
},
showZoomInfo: true, // 是否展示當(dāng)前的信息
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 沒(méi)有屬性
}
}
效果預(yù)覽

總結(jié)
以上所述是小編給大家介紹的詳解在Angular4中使用ng2-baidu-map的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- 再談Angular4 臟值檢測(cè)(性能優(yōu)化)
- Angular4學(xué)習(xí)之Angular CLI的安裝與使用教程
- 淺談angular4實(shí)際項(xiàng)目搭建總結(jié)
- 深入理解Angular4訂閱(Subscribe)與取消
- Angular4綁定html內(nèi)容出現(xiàn)警告的處理方法
- angular4中關(guān)于表單的校驗(yàn)示例
- ionic3+Angular4實(shí)現(xiàn)接口請(qǐng)求及本地json文件讀取示例
- angular4 如何在全局設(shè)置路由跳轉(zhuǎn)動(dòng)畫的方法
- Angular4開發(fā)解決跨域問(wèn)題詳解
- 詳解基于Angular4+ server render(服務(wù)端渲染)開發(fā)教程
- 詳解Angular4 路由設(shè)置相關(guān)
相關(guān)文章
淺談AngularJs 雙向綁定原理(數(shù)據(jù)綁定機(jī)制)
本篇文章主要介紹了淺談AngularJs 雙向綁定原理(數(shù)據(jù)綁定機(jī)制),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
AngularJs學(xué)習(xí)第八篇 過(guò)濾器filter創(chuàng)建
這篇文章主要介紹了AngularJs學(xué)習(xí)第八篇 過(guò)濾器filter創(chuàng)建的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
@angular前端項(xiàng)目代碼優(yōu)化之構(gòu)建Api Tree的方法
這篇文章主要介紹了@angular前端項(xiàng)目代碼優(yōu)化之構(gòu)建Api Tree的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Agularjs妙用雙向數(shù)據(jù)綁定實(shí)現(xiàn)手風(fēng)琴效果
最近在工作總遇到需要實(shí)現(xiàn)類似手風(fēng)琴效果的需求,下面小編通過(guò)本文給大家分享angularjs巧用雙向數(shù)據(jù)綁定實(shí)現(xiàn)手風(fēng)琴效果,需要的朋友可以參考下2017-05-05
Angular2利用組件與指令實(shí)現(xiàn)圖片輪播組件
這篇文章主要給大家介紹了Angular2中組件與指令的一個(gè)小實(shí)踐,利用組件和指令實(shí)現(xiàn)一個(gè)圖片輪播組件的相關(guān)資料,文中給出了詳細(xì)的介紹和示例代碼,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-03-03

