#angular #ionic3 #google-maps-markers #ionic4
#angular #ionic3 #google-карты-маркеры #ionic4
Вопрос:
Я работаю в ionic 4 и использую Google maps api. У меня есть пара маркеров, которые я создаю следующим образом:
setRestaurantMarkers() {
const markers = [];
this.singletonService.restaurants.results.map(restaurant => {
const restaurantPosition = {lat: restaurant['Restaurant'].Lat, lng: restaurant['Restaurant'].Long};
this.markerOptions = new Marker({
position: restaurantPosition,
title: restaurant['Restaurant'].Name,
category: restaurant['RestaurantCategory'].Name,
map: this.map
});
this.marker = new google.maps.Marker(this.markerOptions);
this.marker.addListener('click', (marker) => {
// Set destination for navigate button
this.destination = [marker.latLng.lat(), marker.latLng.lng()];
console.log(marker.latLng.lat(), marker.markerOptions);
this.markerClicked = true;
});
});
}
Но я не могу получить markerOptions
подробную информацию при нажатии на маркер. Я хотел бы иметь это markerOptions
возможно ли, что при нажатии на маркер я ничего не могу найти по этому поводу.
Ответ №1:
назначьте параметры маркера в переменной вместо свойства класса
setRestaurantMarkers() {
const markers = [];
this.singletonService.restaurants.results.map(restaurant => {
const restaurantPosition = {lat: restaurant['Restaurant'].Lat, lng: restaurant['Restaurant'].Long};
const markerOptions = new Marker({ // make it as const
position: restaurantPosition,
title: restaurant['Restaurant'].Name,
category: restaurant['RestaurantCategory'].Name,
map: this.map
});
this.marker = new google.maps.Marker(markerOptions);
this.marker.addListener('click', (marker) => {
// Set destination for navigate button
this.destination = [marker.latLng.lat(), marker.latLng.lng()];
console.log(marker.latLng.lat(), markerOptions); // get directly
this.markerClicked = true;
});
});
}