Это должен быть довольно прямой Foward, но он не работает, как ожидалось. Я хочу добавить маркер, где пользователь нажимает на карту. Но маркер далеко от того места, где я щелкнул, и я не знаю, почему. Кроме того, элементы управления, которые я добавляю с map.addcontrol (new Mapboxgl.navigationControl (), "Top-Right"); также не отображается.
const MyMap = () => {
const mapRef = useRef(null)
useEffect(() => {
if (!mapRef.current) return;
mapboxgl.accessToken = "...";
const map = new mapboxgl.Map({
container: mapRef.current,
style: "mapbox://styles/mapbox/dark-v11",
center: [-74.0060152, 40.7127281],
zoom: 5,
maxZoom: 15,
});
map.on("load", () => {
map.addControl(new mapboxgl.NavigationControl(), "top-right");
map.on("click", event => {
const {lngLat: {lng, lat}} = event
new mapboxgl.Marker()
.setLngLat([lng, lat])
.addTo(map);
});
});
return () => map.remove();
}, []);
return
}
< /code>
И это CSS < /p>
.protected-container {
width: 100%;
height: calc(100% - ...);
}
.container {
height: 100%;
overflow-y: auto;
}
.map {
width: 100%;
position: relative;
height: 50%;
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... -mapbox-js
Не может добавить маркер для правильной позиции. карта с Mapbox JS ⇐ Javascript
Форум по Javascript
-
Anonymous
1738842796
Anonymous
Это должен быть довольно прямой Foward, но он не работает, как ожидалось. Я хочу добавить маркер, где пользователь нажимает на карту. Но маркер далеко от того места, где я щелкнул, и я не знаю, почему. Кроме того, элементы управления, которые я добавляю с map.addcontrol (new Mapboxgl.navigationControl (), "Top-Right"); также не отображается.
const MyMap = () => {
const mapRef = useRef(null)
useEffect(() => {
if (!mapRef.current) return;
mapboxgl.accessToken = "...";
const map = new mapboxgl.Map({
container: mapRef.current,
style: "mapbox://styles/mapbox/dark-v11",
center: [-74.0060152, 40.7127281],
zoom: 5,
maxZoom: 15,
});
map.on("load", () => {
map.addControl(new mapboxgl.NavigationControl(), "top-right");
map.on("click", event => {
const {lngLat: {lng, lat}} = event
new mapboxgl.Marker()
.setLngLat([lng, lat])
.addTo(map);
});
});
return () => map.remove();
}, []);
return
}
< /code>
И это CSS < /p>
.protected-container {
width: 100%;
height: calc(100% - ...);
}
.container {
height: 100%;
overflow-y: auto;
}
.map {
width: 100%;
position: relative;
height: 50%;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79417774/cannot-add-marker-to-correct-position-on-map-with-mapbox-js[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия