MapLibre से पहला मानचित्र प्रदर्शित करें
MapConductor के साथ MapLibre मानचित्र प्रदर्शित करने के चरण। सेटअप प्लेटफ़ॉर्म के अनुसार भिन्न होता है, लेकिन मानचित्र और मार्कर लिखने के लिए कोड का तर्क समान रहता है।
01 · इंस्टॉलेशन
निर्भरताओं में core और for-maplibre जोड़ें। अन्य प्रदाता का उपयोग करने के लिए बस मॉड्यूल बदलें।
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
}
}dependencies {
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-maplibre")
// वैकल्पिक: compose / icons / heatmap / marker-clustering / geojson / kml
}dependencies: [
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-maplibre", from: "1.3.1"),
].target(
name: "YourApp",
dependencies: [
.product(name: "MapConductorCore", package: "ios-sdk-core"),
.product(name: "MapConductorForMapLibre", package: "ios-for-maplibre"),
]
)npm install @mapconductor/js-sdk-core \
@mapconductor/js-sdk-react \
@mapconductor/react-for-maplibreimport { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
export default defineConfig({
optimizeDeps: {
exclude: ["@mapconductor/react-for-maplibre", "@mapconductor/js-sdk-core"],
},
plugins: [react()],
});Vite की प्री-बंडलिंग से प्रदाता को हटाएं। maplibre-gl v6 वर्कर को URL से लोड करता है, इसलिए प्री-बंडल होने पर .vite/deps के नीचे वर्कर फ़ाइल आउटपुट नहीं होती है और लोड करना विफल हो जाता है।
02 · टाइल तय करें
MapLibre में API कुंजी नहीं होती है। मानचित्र का दृश्य टाइल के स्रोत द्वारा निर्धारित होता है।
डेमो टाइल्स से शुरू करें
MapLibreDesign.DemoTiles / OpenMapTiles को जैसा है वैसे ही निर्दिष्ट करने पर, बिना कुंजी के कार्य की पुष्टि की जा सकती है।
उत्पादन के लिए होस्टिंग तैयार करें
MapTiler आदि जैसी टाइल वितरण सेवाओं का उपयोग करने पर, प्रत्येक सेवा की कुंजी को स्टाइलURL में सेट करें।
डेमो टाइल्स कार्य सत्यापन के लिए हैं। उत्पादन ऐप्स में अपनी या वाणिज्यिक टाइल वितरण सेवा का उपयोग करें।
03 · Hello Map
कैमरा स्थिति के साथ एक स्टेट ऑब्जेक्ट बनाएं और मानचित्र दृश्य में पास करें। मार्कर और इन्फो बबल जैसे ओवरले को चाइल्ड एलिमेंट के रूप में घोषित करें। मार्कर टैप होने पर इन्फो बबल दिखाएं और मानचित्र टैप होने पर इसे बंद करें।
@Composable
fun SimpleMapScreen(modifier: Modifier) {
var selected by remember { mutableStateOf<MarkerState?>(null) }
val mapState = rememberMapLibreMapViewState(
cameraPosition = MapCameraPosition(
position = GeoPoint(35.6812, 139.7671),
zoom = 14.0,
),
mapDesign = MapLibreDesign.OsmBright,
)
val markerState = remember {
MarkerState(
position = GeoPoint(35.6812, 139.7671),
onClick = { selected = it },
)
}
MapLibreMapView(
modifier = modifier,
state = mapState,
onMapClick = { selected = null },
) {
Marker(markerState)
selected?.let {
InfoBubble(marker = it) { Text("Hello, MapConductor") }
}
}
}import SwiftUI
import MapConductorCore
import MapConductorForMapLibre
struct ContentView: View {
@StateObject private var mapState = MapLibreViewState(
mapDesignType: MapLibreDesign.OsmBright,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
zoom: 14
)
)
@State private var selected: MarkerState?
var body: some View {
MapLibreMapView(state: mapState, onMapClick: { _ in selected = nil }) {
Marker(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
onClick: { selected = $0 }
)
if let selected {
InfoBubble(marker: selected) { Text("Hello, MapConductor") }
}
}
}
}import { useMemo, useState } from 'react';
import { createGeoPoint, createMapCameraPosition, createMarkerState }
from '@mapconductor/js-sdk-core';
import { InfoBubble, Marker } from '@mapconductor/js-sdk-react';
import { MapLibreDesign, MapLibreMapView, useMapLibreViewState }
from '@mapconductor/react-for-maplibre';
import '@mapconductor/react-for-maplibre/style.css';
const TOKYO = createGeoPoint({ latitude: 35.6812, longitude: 139.7671 });
export function HelloMap() {
const mapState = useMapLibreViewState({
mapDesignType: MapLibreDesign.OsmBright,
cameraPosition: createMapCameraPosition({ position: TOKYO, zoom: 14 }),
});
const [selected, setSelected] = useState(false);
const marker = useMemo(() =>
createMarkerState({
id: 'hello',
position: TOKYO,
onClick: () => setSelected(true),
}), []);
return (
<MapLibreMapView state={mapState} onMapClick={() => setSelected(false)}>
<Marker state={marker} />
{selected && (
<InfoBubble marker={marker}>Hello, MapConductor</InfoBubble>
)}
</MapLibreMapView>
);
}RESULT · काम करने तक
टोक्यो स्टेशन को केंद्र में रखकर मानचित्र प्रदर्शित होता है और एक मार्कर दिखाई देता है। मार्कर को टैप करने पर "Hello, MapConductor" का बुलबुला दिखाई दे तो काम पूरा हो गया।

04 · प्रदाता बदलें
वही स्क्रीन कोड के साथ, निर्भर मॉड्यूल और दृश्य नाम बदलकर अन्य प्रदाता पर चलाया जा सकता है। केवल परिचय के चरण — कुंजी प्राप्त करना और प्रारंभ की विधि — बदलते हैं।