Descripción General de Módulos
El repositorio está dividido en paquetes Swift independientes para que cada aplicación pueda depender únicamente de los proveedores y utilidades que realmente usa. Una aplicación típica depende de MapConductorCore más un módulo de proveedor.
| Repositorio del paquete | Producto | Tipos principales |
|---|---|---|
ios-sdk-core | MapConductorCore | GeoPoint, GeoRectBounds, MapCameraPosition, Marker, Circle, Polyline, Polygon, GroundImage, InfoBubble, RasterLayer |
ios-for-googlemaps | MapConductorForGoogleMaps | GoogleMapViewState, GoogleMapView, GoogleMapDesign |
ios-for-mapbox | MapConductorForMapbox | MapboxViewState, MapboxMapView, MapboxMapDesign |
ios-for-mapkit | MapConductorForMapKit | MapKitViewState, MapKitMapView, MapKitMapDesign |
ios-for-maplibre | MapConductorForMapLibre | MapLibreViewState, MapLibreMapView, MapLibreDesign |
ios-heatmap | MapConductorHeatmap | HeatmapOverlay, HeatmapOverlayState, HeatmapPointView, HeatmapPoints |
ios-marker-cluster | MapConductorMarkerCluster | MarkerClusterGroup, MarkerClusterGroupState, MarkerClusterStrategy |
Paquete Principal
Section titled “Paquete Principal”ios-sdk-core contiene tipos independientes del proveedor:
- Geometría:
GeoPoint,GeoRectBounds - Cámara:
MapCameraPosition,MapPaddings,VisibleRegion - Protocolo de estado del mapa:
MapViewStateProtocol - Vistas de superposición:
Marker,Polyline,Polygon,Circle,GroundImage,InfoBubble,RasterLayer - Estados de superposición:
MarkerState,PolylineState,PolygonState,CircleState,GroundImageState - Íconos de marcadores:
DefaultMarkerIcon,ImageIcon,ImageDefaultIcon,BitmapIcon - Utilidades de construcción:
MapViewContentBuilder,ForArray
Todos los paquetes de proveedor se construyen sobre MapConductorCore.
Paquetes de Proveedores
Section titled “Paquetes de Proveedores”Los paquetes de proveedores renderizan la API común a través de un SDK de mapas nativo. Cada módulo de proveedor suministra una vista de mapa en SwiftUI, un estado de vista de mapa concreto, tipos de diseño de mapa específicos del proveedor, vínculos del controlador de superposición y acceso a AnyMapViewHolder a través de getMapViewHolder().
Agregar múltiples módulos de proveedor es válido cuando una aplicación soporta el cambio de proveedor. Las declaraciones de superposición comunes pueden compartirse, pero el estado del proveedor y el tipo de vista de mapa permanecen específicos del proveedor.
Paquetes Opcionales
Section titled “Paquetes Opcionales”Usa los paquetes opcionales solo en las pantallas que necesiten esas funciones. Se integran con el mismo closure de contenido de mapa del proveedor que las superposiciones principales.
MapConductorHeatmapagrega renderizado de mapas de calor basado en tiles conHeatmapOverlay,HeatmapPointView,HeatmapPointsyHeatmapOverlayState.MapConductorMarkerClusteragrega agrupación de marcadores conMarkerClusterGroup,MarkerClusterGroupStateyMarkerClusterStrategy.
Ejemplo de Package.swift
Section titled “Ejemplo de Package.swift”dependencies: [ .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.0.4"), .package(url: "https://github.com/MapConductor/ios-for-googlemaps", from: "1.0.4"),],targets: [ .target( name: "App", dependencies: [ .product(name: "MapConductorCore", package: "ios-sdk-core"), .product(name: "MapConductorForGoogleMaps", package: "ios-for-googlemaps"), ] )]Ejemplo con Módulos Opcionales
Section titled “Ejemplo con Módulos Opcionales”dependencies: [ .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.0.4"), .package(url: "https://github.com/MapConductor/ios-for-googlemaps", from: "1.0.4"), .package(url: "https://github.com/MapConductor/ios-heatmap", from: "1.1.0"), .package(url: "https://github.com/MapConductor/ios-marker-cluster", from: "1.0.1"),],targets: [ .target( name: "App", dependencies: [ .product(name: "MapConductorCore", package: "ios-sdk-core"), .product(name: "MapConductorForGoogleMaps", package: "ios-for-googlemaps"), .product(name: "MapConductorHeatmap", package: "ios-heatmap"), .product(name: "MapConductorMarkerCluster", package: "ios-marker-cluster"), ] )]