我正在构建一个要使用Google Map的应用程序,并且我使用的是离子版本3.20.1和科尔多瓦版本8.xx
我想使用Google Maps Java脚本API,并使我的地图看起来像在大多数应用程序上一样。 屏幕截图- 我要建立的 我能够建立的
我的地图.html文件看起来
<ion-header>
<ion-navbar>
<ion-title>
Map
</ion-title>
<ion-buttons end>
<button ion-button (click)="addMarker()"><ion-icon name="add"></ion-
icon>Add Marker</button>
</ion-buttons>
</ion-navbar>
</ion-header>
<ion-content>
<div #map id="map"></div>
</ion-content>
我的map.ts文件是
import { Component, ViewChild, ElementRef } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Geolocation } from '@ionic-native/geolocation';
declare var google;
@IonicPage()
@Component({
selector: 'page-google-map',
templateUrl: 'google-map.html',
})
export class GoogleMapPage {
@ViewChild('map') mapElement: ElementRef;
map: any;
constructor(public navCtrl: NavController, public navParams:
NavParams,public geolocation: Geolocation) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad GoogleMapPage');
this.loadMap();
}
loadMap(){
this.geolocation.getCurrentPosition().then((position) => {
let latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
let mapOptions = {
center: latLng,
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
this.map = new google.maps.Map(this.mapElement.nativeElement, mapOptions);
this
}, (err) => {
console.log(err);
});
}
addMarker(){
let marker = new google.maps.Marker({
map: this.map,
animation: google.maps.Animation.DROP,
position: this.map.getCenter()
});
let content = "<h4>Information!</h4>";
this.addInfoWindow(marker, content);
}
addInfoWindow(marker, content){
let infoWindow = new google.maps.InfoWindow({
content: content
});
google.maps.event.addListener(marker, 'click', () => {
infoWindow.open(this.map, marker);
});
}
}
我强烈需要显示当前位置的蓝点
答案 0 :(得分:1)
在https://developers.google.com/maps/documentation/javascript/markers#complex_icons
的“复杂图标”下查看Google Maps API参考。您可以使用带有蓝点的SVG图标设置自定义标记。这是来自上一个Ionic项目的示例,该项目需要一个用于用户位置的自定义图标。注意,SVG并不是整个文件,而只是路径信息。我认为您也可以通过URL引用完整的SVG文件(请参阅参考资料)。在此示例中,SVG路径不是点。
var myLocationIcon = {
path: 'M11 11l1.256 5 3.744-10-10 3.75 5 1.25zm1-11c-5.522 0-10 4.395-10 9.815 0 5.505 4.375 9.268 10 14.185 5.625-4.917 10-8.68 10-14.185 0-5.42-4.478-9.815-10-9.815zm0 18c-4.419 0-8-3.582-8-8s3.581-8 8-8 8 3.582 8 8-3.581 8-8 8z',
scale: 1,
fillColor: '#3a84df'
};
var marker = new google.maps.Marker({
map: map,
animation: google.maps.Animation.DROP,
position: latlng,
icon: myLocationIcon
});