Я пытаюсь сделать карту с какой -то POI, и все работает нормально, за исключением случаев, когда я хочу добавить кластер -маркеры. На самом деле, я вижу кластер и взаимодействую с ним, но вместо того, чтобы показывать количество производителей внутри кластера, он просто показывает точку ... изображение моего текущего веб -приложения. Поэтому я попытался изменить код в учебном пособии по Google Maps (https://developers.google.com/codelabs/ ... react-js#0), но я мог допустить ошибку ...
Также мой код:
.import {
APIProvider,
Map,
AdvancedMarker,
Pin,
useMap,
} from "@vis.gl/react-google-maps";
import { MarkerClusterer, ClusterIconStyle } from "@googlemaps/markerclusterer";
export default function MapInterface({ setTableView }) {
//------------- POLYGONS DATA -------------
const encode = require("geojson-polyline").encode;
const regSimpData = regSimp.features;
const encodedRegSimp = regSimpData.map((reg) => encode(reg.geometry));
const tableButtonClickHandler = () => {
setTableView(true);
};
//------------- DATA -------------
const initialData = [
{ key: "operaHouse", location: { lat: -33.8567844, lng: 151.213108 } },
{ key: "tarongaZoo", location: { lat: -33.8472767, lng: 151.2188164 } },
{ key: "manlyBeach", location: { lat: -33.8209738, lng: 151.2563253 } },
{ key: "hyderPark", location: { lat: -33.8690081, lng: 151.2052393 } },
{ key: "theRocks", location: { lat: -33.8587568, lng: 151.2058246 } },
{ key: "circularQuay", location: { lat: -33.858761, lng: 151.2055688 } },
{ key: "harbourBridge", location: { lat: -33.852228, lng: 151.2038374 } },
{ key: "kingsCross", location: { lat: -33.8737375, lng: 151.222569 } },
{ key: "botanicGardens", location: { lat: -33.864167, lng: 151.216387 } },
{ key: "museumOfSydney", location: { lat: -33.8636005, lng: 151.2092542 } },
{ key: "maritimeMuseum", location: { lat: -33.869395, lng: 151.198648 } },
{
key: "kingStreetWharf",
location: { lat: -33.8665445, lng: 151.1989808 },
},
{ key: "aquarium", location: { lat: -33.869627, lng: 151.202146 } },
{ key: "darlingHarbour", location: { lat: -33.87488, lng: 151.1987113 } },
{ key: "barangaroo", location: { lat: -33.8605523, lng: 151.1972205 } },
];
//------------- MARKERS -------------
const BordeauxMarkers = ({ pois }) => {
const map = useMap();
const [markers, setMarkers] = useState({});
const clusterer = useRef(null);
// Initialize MarkerClusterer, if the map has changed
useEffect(() => {
if (!map) return;
if (!clusterer.current) {
clusterer.current = new MarkerClusterer({
map: map,
});
}
}, [map]);
// Update markers, if the markers array has changed
useEffect(() => {
if (!clusterer.current) return;
clusterer.current.clearMarkers();
clusterer.current.addMarkers(Object.values(markers));
}, [markers]);
const setMarkerRef = (marker, key) => {
if (marker && markers[key]) return;
if (!marker && !markers[key]) return;
setMarkers((prev) => {
if (marker) {
return { ...prev, [key]: marker };
} else {
const newMarkers = { ...prev };
delete newMarkers[key];
return newMarkers;
}
});
};
console.log(markers);
return (
{pois.map((poi) => (
setMarkerRef(marker, poi.key)}
>
background={"#FBBC04"}
glyphColor={"#000"}
borderColor={"#000"}
/>
))}
);
};
//------------- CLUSTERS -------------
return (
console.log("Maps API has loaded.")}
>
console.log(
"camera changed:",
ev.detail.center,
"zoom:",
ev.detail.zoom
)
}
>
Table
Map
);
}
< /code>
Я на самом деле не знаю, что случилось, потому что мой код кажется таким же, как и в учебном пособии, кроме как в JS. Я пытался изменить рендерин, но это ничего не изменило, и я смотрел другие учебники, но это мне не помогло. Кроме того, я действительно не понял, как работает реферат в компоненте AdvancedMarker ...
>
Подробнее здесь: https://stackoverflow.com/questions/795 ... markers-in
Google Maps Marts Marker Clusterer показывает точку вместо количества маркеров внутри кластера с помощью NextJs ⇐ Javascript
Форум по Javascript
1745601355
Anonymous
Я пытаюсь сделать карту с какой -то POI, и все работает нормально, за исключением случаев, когда я хочу добавить кластер -маркеры. На самом деле, я вижу кластер и взаимодействую с ним, но вместо того, чтобы показывать количество производителей внутри кластера, он просто показывает точку ... изображение моего текущего веб -приложения. Поэтому я попытался изменить код в учебном пособии по Google Maps (https://developers.google.com/codelabs/maps-platform/maps-platform-101-react-js#0), но я мог допустить ошибку ...
Также мой код:
.import {
APIProvider,
Map,
AdvancedMarker,
Pin,
useMap,
} from "@vis.gl/react-google-maps";
import { MarkerClusterer, ClusterIconStyle } from "@googlemaps/markerclusterer";
export default function MapInterface({ setTableView }) {
//------------- POLYGONS DATA -------------
const encode = require("geojson-polyline").encode;
const regSimpData = regSimp.features;
const encodedRegSimp = regSimpData.map((reg) => encode(reg.geometry));
const tableButtonClickHandler = () => {
setTableView(true);
};
//------------- DATA -------------
const initialData = [
{ key: "operaHouse", location: { lat: -33.8567844, lng: 151.213108 } },
{ key: "tarongaZoo", location: { lat: -33.8472767, lng: 151.2188164 } },
{ key: "manlyBeach", location: { lat: -33.8209738, lng: 151.2563253 } },
{ key: "hyderPark", location: { lat: -33.8690081, lng: 151.2052393 } },
{ key: "theRocks", location: { lat: -33.8587568, lng: 151.2058246 } },
{ key: "circularQuay", location: { lat: -33.858761, lng: 151.2055688 } },
{ key: "harbourBridge", location: { lat: -33.852228, lng: 151.2038374 } },
{ key: "kingsCross", location: { lat: -33.8737375, lng: 151.222569 } },
{ key: "botanicGardens", location: { lat: -33.864167, lng: 151.216387 } },
{ key: "museumOfSydney", location: { lat: -33.8636005, lng: 151.2092542 } },
{ key: "maritimeMuseum", location: { lat: -33.869395, lng: 151.198648 } },
{
key: "kingStreetWharf",
location: { lat: -33.8665445, lng: 151.1989808 },
},
{ key: "aquarium", location: { lat: -33.869627, lng: 151.202146 } },
{ key: "darlingHarbour", location: { lat: -33.87488, lng: 151.1987113 } },
{ key: "barangaroo", location: { lat: -33.8605523, lng: 151.1972205 } },
];
//------------- MARKERS -------------
const BordeauxMarkers = ({ pois }) => {
const map = useMap();
const [markers, setMarkers] = useState({});
const clusterer = useRef(null);
// Initialize MarkerClusterer, if the map has changed
useEffect(() => {
if (!map) return;
if (!clusterer.current) {
clusterer.current = new MarkerClusterer({
map: map,
});
}
}, [map]);
// Update markers, if the markers array has changed
useEffect(() => {
if (!clusterer.current) return;
clusterer.current.clearMarkers();
clusterer.current.addMarkers(Object.values(markers));
}, [markers]);
const setMarkerRef = (marker, key) => {
if (marker && markers[key]) return;
if (!marker && !markers[key]) return;
setMarkers((prev) => {
if (marker) {
return { ...prev, [key]: marker };
} else {
const newMarkers = { ...prev };
delete newMarkers[key];
return newMarkers;
}
});
};
console.log(markers);
return (
{pois.map((poi) => (
setMarkerRef(marker, poi.key)}
>
background={"#FBBC04"}
glyphColor={"#000"}
borderColor={"#000"}
/>
))}
);
};
//------------- CLUSTERS -------------
return (
console.log("Maps API has loaded.")}
>
console.log(
"camera changed:",
ev.detail.center,
"zoom:",
ev.detail.zoom
)
}
>
Table
Map
);
}
< /code>
Я на самом деле не знаю, что случилось, потому что мой код кажется таким же, как и в учебном пособии, кроме как в JS. Я пытался изменить рендерин, но это ничего не изменило, и я смотрел другие учебники, но это мне не помогло. Кроме того, я действительно не понял, как работает реферат в компоненте AdvancedMarker ...
>
Подробнее здесь: [url]https://stackoverflow.com/questions/79593016/google-maps-api-marker-clusterer-show-a-dot-instead-of-the-numbers-of-markers-in[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия