0
私はIonic2でGoogleマップの実装をしています。地図と地理位置は正常に動作します。エラーは、カスタムコントロール/ボタンをマップに実装しようとした後にのみ発生しました。私は、このリンクをたどっ: https://developers.google.com/maps/documentation/javascript/examples/control-customイオン2:Googleマップカスタムコントロールが動作しない
これは私のJSコード(コンストラクタ):
constructor(navController, platform, app) {
this.navController = navController;
this.platform = platform;
this.app = app;
platform.ready().then(() => {
this.initializeMap();
});
}
カスタムコントロール:
CenterControl(controlDiv, map){
// Set CSS for the control border.
var controlUI = document.createElement('div');
controlUI.style.backgroundColor = '#fff';
controlUI.style.border = '2px solid #fff';
controlUI.style.borderRadius = '3px';
controlUI.style.boxShadow = '0 2px 6px rgba(0,0,0,.3)';
controlUI.style.cursor = 'pointer';
controlUI.style.marginBottom = '22px';
controlUI.style.textAlign = 'center';
controlUI.title = 'Click to recenter the map';
controlDiv.appendChild(controlUI);
// Set CSS for the control interior.
var controlText = document.createElement('div');
controlText.style.color = 'rgb(25,25,25)';
controlText.style.fontFamily = 'Roboto,Arial,sans-serif';
controlText.style.fontSize = '16px';
controlText.style.lineHeight = '38px';
controlText.style.paddingLeft = '5px';
controlText.style.paddingRight = '5px';
controlText.innerHTML = 'Center Map';
controlUI.appendChild(controlText);
// Setup the click event listeners: simply set the map to Chicago.
controlUI.addEventListener('click', function() {
map.setCenter(chicago);
});
}
地図の初期化:
initializeMap() {
let locationOptions = {timeout: 10000, enableHighAccuracy: true};
navigator.geolocation.getCurrentPosition(
(position) => {
let options = {
// /new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
center: new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
this.map = new google.maps.Map(document.getElementById("map_canvas"), options);
var centerControlDiv = document.createElement('div');
var centerControl = new CenterControl(centerControlDiv, options);
centerControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_CENTER].push(centerControlDiv);
},
(error) => {
console.log(error);
}, locationOptions
);
}
私のインデックス。 html:
I "はCenterControl(){}")(機能CenterControl」として設定することができないよvar centerControl = new CenterControl(centerControlDiv, options);
:所与
<script src="http://maps.google.com/maps/api/js?key=<MY API KEY>"></script>
エラーメッセージは、このました{} "その場合は構文エラーが発生します。
、私はまだそれをインポートする必要がありますか?そしてどうやって? – Gene
'CenterControl(controlDiv、map)'がどこに定義されているのかがわかりにくいです...クラスのメソッドですか? –
new this.CenterControl()? – superui