Uppsetning á Mapbox
Hvernig nota má Mapbox á vefnum gegnum MapConductor. Aðgangsteiknið þarf aðeins fyrir stíla sem Mapbox hýsir — þá sem byrja á mapbox://.
Áður en þú byrjar
Settu upp
mapbox-gl fylgir pakkanum — engin sérstök uppsetning. Það er engin React Native-hliðstæða.
npm install @mapconductor/js-sdk-core @mapconductor/js-sdk-react \
@mapconductor/react-for-mapboxFluttu inn stílblaðið
Fluttu hana inn einu sinni úr inngangsskrá forritsins. Gleymist það kemur umbrot kortsins og stýringar rangt út.
import '@mapconductor/react-for-mapbox/style.css';
Sendu aðgangsteiknið (ef þarf)
Teiknið fer til stöðu-hooksins, sem setur mapboxgl.accessToken á heimsvísu. Notarðu aðeins OSM-byggðu hannanirnar? Slepptu því alveg.
const mapState = useMapboxViewState({
id: 'mapbox-map',
accessToken: import.meta.env.VITE_MAPBOX_ACCESS_TOKEN,
mapDesignType: MapboxDesign.Streets,
cameraPosition: createMapCameraPosition({ position: TOKYO, zoom: 12 }),
});STAÐFESTA
Það sem þú ættir að sjá
Með OsmBright geturðu sannreynt uppsetninguna án nokkurs teiknis.
import { useState } from 'react';
import { createGeoPoint, createMapCameraPosition, createMarkerState } from '@mapconductor/js-sdk-core';
import { Marker } from '@mapconductor/js-sdk-react';
import { MapboxDesign, MapBoxMapView2D, useMapboxViewState } from '@mapconductor/react-for-mapbox';
import '@mapconductor/react-for-mapbox/style.css';
const TOKYO = createGeoPoint({ latitude: 35.6812, longitude: 139.7671 });
export function HelloMap() {
// No token needed for the OsmBright design
const mapState = useMapboxViewState({
id: 'mapbox-map',
mapDesignType: MapboxDesign.OsmBright,
cameraPosition: createMapCameraPosition({ position: TOKYO, zoom: 12 }),
});
const [markerState] = useState(() => createMarkerState({ id: 'tokyo', position: TOKYO }));
return (
<MapBoxMapView2D state={mapState} style={{ height: 480 }}>
<Marker state={markerState} />
</MapBoxMapView2D>
);
}Stöðuhlutur
Það sem useMapboxViewState tekur við. Taktu eftir útfluttu heitunum: MapBoxMapView og MapBoxMapView2D, með stóru B.
useMapboxViewState({
id?: string;
accessToken?: string;
mapDesignType?: MapboxMapDesignType; // default MapboxDesign.Streets
cameraPosition?: MapCameraPosition; // default MapCameraPosition.Default
})Kortahönnun
MapboxDesign skiptist í stíla sem þurfa teikn og stíla sem þurfa það ekki.
Bilanaleit
Það eru aðeins Mapbox-stílarnir sem teiknast ekki
- Stílar sem byrja á mapbox:// þurfa teikn — athugaðu að accessToken sé sent.
- Staðfestu að þetta sé opinbert teikn og að það hafi ekki verið afturkallað.
Aðdráttarstigin eru önnur en hjá öðrum þjónustuaðilum
- MapConductor staðlar aðdráttinn gegn kvarða Google; Mapbox er umreiknað með mældri hliðrun, googleZoom ≈ mapboxZoom + 1,0.
Kortið frumstillist tvisvar í þróun
- React StrictMode keyrir effect tvisvar. Hver þjónustuaðili greinir það og hendir keyrslunni sem var hætt við, svo þú þarft ekki að slökkva á StrictMode.
Næst
Byggingin er sú sama og hjá MapLibre, svo breyting á mapDesignType frumstillir kortið upp á nýtt.