react-map4d-map 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/context/Map4dContext.ts","../src/context/MarkerClusterContext.ts","../src/components/MFBuilding.tsx","../src/components/MFBuildingOverlay.tsx","../src/tool/variableTool.ts","../src/components/MFCircle.tsx","../src/components/MFDataLayer.tsx","../src/components/MFDirectionsRenderer.tsx","../src/components/MFGroundOverlay.tsx","../src/components/MFImageOverlay.tsx","../src/components/MFMap.tsx","../src/components/MFMarker.tsx","../src/components/MFMarkerCluster.tsx","../src/components/MFPOI.tsx","../src/components/MFPOIOverlay.tsx","../src/components/MFPolygon.tsx","../src/components/MFPolyline.tsx","../src/components/MFTileOverlay.tsx"],"sourcesContent":["import { createContext } from 'react';\r\n\r\nexport const defaultCt = {\r\n map: null\r\n}\r\nexport const Map4dContext = createContext(defaultCt)","import { createContext } from 'react';\r\n\r\nexport const markerClusterDefaultContext = {\r\n addMarker: null as unknown as (marker: map4d.Marker)=>void,\r\n removeMarker: null as unknown as (marker: map4d.Marker)=>void,\r\n}\r\nexport const MarkerClusterContext = createContext(markerClusterDefaultContext)","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface BuildingProps {\r\n position?: map4d.ILatLng\r\n name?: string\r\n scale?: number\r\n bearing?: number\r\n elevation?: number\r\n height?: number\r\n model?: string\r\n texture?: string\r\n coordinates?: map4d.ILatLng[]\r\n zIndex?: number\r\n visible?: boolean\r\n draggable?: boolean\r\n userInteractionEnabled?: boolean\r\n selected?: boolean\r\n growUp?: boolean\r\n map?: map4d.Map\r\n onCreated?: (building: map4d.Building) => void\r\n}\r\nconst MFBuilding = (props: BuildingProps) => {\r\n const {\r\n position,\r\n name,\r\n scale,\r\n bearing,\r\n elevation,\r\n height,\r\n model,\r\n texture,\r\n coordinates,\r\n visible,\r\n draggable,\r\n userInteractionEnabled,\r\n selected,\r\n growUp,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const buildingRef = useRef(null as unknown as map4d.Building)\r\n\r\n useEffect(() => {\r\n if (theMap && !buildingRef.current) {\r\n let option = {\r\n position: position || { lat: 10.793113, lng: 106.720739 },\r\n name: name,\r\n scale: scale,\r\n bearing: bearing,\r\n elevation: elevation,\r\n height: height,\r\n model: model,\r\n texture: texture,\r\n coordinates: coordinates,\r\n visible: visible,\r\n draggable: draggable,\r\n userInteractionEnabled: userInteractionEnabled,\r\n selected: selected,\r\n growUp: growUp\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n buildingRef.current = new map4d.Building(option)\r\n buildingRef.current?.setMap(theMap)\r\n onCreated && onCreated(buildingRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n buildingRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n buildingRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n buildingRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n buildingRef.current?.setPosition(position as map4d.ILatLng)\r\n }, [position])\r\n useEffect(() => {\r\n name != undefined && buildingRef.current?.setName(name)\r\n }, [name])\r\n useEffect(() => {\r\n scale != undefined && buildingRef.current?.setScale(scale)\r\n }, [scale])\r\n useEffect(() => {\r\n if (bearing != undefined) {\r\n buildingRef.current?.setBearing(bearing)\r\n }\r\n }, [bearing])\r\n useEffect(() => {\r\n elevation != undefined && buildingRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n height != undefined && buildingRef.current?.setHeight(height)\r\n }, [height])\r\n useEffect(() => {\r\n model != undefined && buildingRef.current?.setModel(model)\r\n }, [model])\r\n useEffect(() => {\r\n texture != undefined && buildingRef.current?.setTexture(texture)\r\n }, [texture])\r\n useEffect(() => {\r\n coordinates != undefined && buildingRef.current?.setCoordinates(coordinates)\r\n }, [coordinates])\r\n useEffect(() => {\r\n visible != undefined && buildingRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n draggable != undefined && buildingRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && buildingRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n useEffect(() => {\r\n selected != undefined && buildingRef.current?.setSelected(selected)\r\n }, [selected])\r\n useEffect(() => {\r\n growUp != undefined && buildingRef.current?.setGrowUp(growUp)\r\n }, [growUp])\r\n return null\r\n}\r\nexport default MFBuilding\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface BuildingOverlayProps {\r\n getUrl: (x: number, y: number, zoom: number) => any\r\n parserData: (response: any) => any\r\n prefixId?: string\r\n visible?: boolean\r\n map?: map4d.Map\r\n onCreated?: (buildingOverlay: map4d.BuildingOverlay) => void\r\n}\r\nconst MFBuildingOverlay = (props: BuildingOverlayProps) => {\r\n const {\r\n getUrl,\r\n visible,\r\n parserData,\r\n prefixId,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const buildingOverlayRef = useRef<map4d.BuildingOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n buildingOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n let option = {\r\n getUrl: getUrl || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n parserData: parserData,\r\n prefixId: prefixId\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n buildingOverlayRef.current = new map4d.BuildingOverlay(option)\r\n buildingOverlayRef.current?.setMap(theMap as map4d.Map)\r\n onCreated && onCreated(buildingOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !buildingOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n buildingOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n buildingOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n buildingOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [getUrl, parserData, prefixId, visible])\r\n return null\r\n}\r\nexport default MFBuildingOverlay\r\n","export class VariableTool {\r\n static hasValue = (variable: any) => {\r\n if (variable != undefined && variable != null) {\r\n return true\r\n }\r\n return false\r\n }\r\n}","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\nimport { VariableTool } from '../tool';\r\n\r\ninterface CircleProps {\r\n center: map4d.ILatLng\r\n radius?: number\r\n fillColor?: string\r\n fillOpacity?: number\r\n visible?: boolean\r\n strokeColor?: string\r\n strokeWidth?: number\r\n draggable?: boolean\r\n zIndex?: number\r\n elevation?: number\r\n userInteractionEnabled?: boolean\r\n map?: map4d.Map\r\n onCreated?: (circle: map4d.Circle) => void\r\n}\r\n\r\nconst MFCircle = (props: CircleProps) => {\r\n const {\r\n center,\r\n radius,\r\n fillColor,\r\n fillOpacity,\r\n visible,\r\n strokeColor,\r\n strokeWidth,\r\n draggable,\r\n zIndex,\r\n elevation,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const circleRef = useRef<map4d.Circle>()\r\n\r\n useEffect(() => {\r\n if (theMap && !circleRef.current) {\r\n let option = {\r\n center: center || { lat: 10.793113, lng: 106.720739 },\r\n radius: radius,\r\n fillColor: fillColor,\r\n fillOpacity: fillOpacity,\r\n visible: visible,\r\n strokeColor: strokeColor,\r\n strokeWidth: strokeWidth,\r\n draggable: draggable,\r\n zIndex: zIndex,\r\n elevation: elevation,\r\n userInteractionEnabled: userInteractionEnabled,\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n circleRef.current = new map4d.Circle(option)\r\n circleRef.current?.setMap(theMap)\r\n onCreated && onCreated(circleRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n circleRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n circleRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n circleRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (VariableTool.hasValue(center)) {\r\n circleRef.current?.setCenter(center)\r\n }\r\n\r\n }, [center])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(radius)) {\r\n circleRef.current?.setRadius(radius as number)\r\n }\r\n }, [radius])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(fillColor)) {\r\n circleRef.current?.setFillColor(fillColor as string)\r\n }\r\n }, [fillColor])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(fillOpacity)) {\r\n circleRef.current?.setFillOpacity(fillOpacity as number)\r\n }\r\n }, [fillOpacity])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(visible)) {\r\n circleRef.current?.setVisible(visible as boolean)\r\n }\r\n }, [visible])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(strokeColor)) {\r\n circleRef.current?.setStrokeColor(strokeColor as string)\r\n }\r\n }, [strokeColor])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(strokeWidth)) {\r\n circleRef.current?.setStrokeWidth(strokeWidth as number)\r\n }\r\n }, [strokeWidth])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(draggable)) {\r\n circleRef.current?.setDraggable(draggable as boolean)\r\n }\r\n }, [draggable])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(zIndex)) {\r\n circleRef.current?.setZIndex(zIndex as number)\r\n }\r\n }, [zIndex])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(elevation)) {\r\n circleRef.current?.setElevation(elevation as number)\r\n }\r\n }, [elevation])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(userInteractionEnabled)) {\r\n circleRef.current?.setUserInteraction(userInteractionEnabled as boolean)\r\n }\r\n }, [userInteractionEnabled])\r\n\r\n return null\r\n}\r\n\r\nexport default MFCircle\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface DataLayerProps {\r\n geoJsonString: string\r\n map?: map4d.Map\r\n onCreated?: (dataLeyer?: map4d.Data.Feature[]) => void\r\n}\r\n\r\nconst MFDataLayer = (props: DataLayerProps) => {\r\n const {\r\n geoJsonString,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const dataLayerRef = useRef<map4d.Data.Feature[]>()\r\n\r\n\r\n const reCreate = () => {\r\n dataLayerRef.current?.forEach((feature) => {\r\n theMap?.data?.remove(feature)\r\n })\r\n dataLayerRef.current = theMap?.data?.addGeoJson(geoJsonString)\r\n onCreated && onCreated(dataLayerRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n return () => {\r\n dataLayerRef.current?.forEach((feature) => {\r\n theMap?.data?.remove(feature)\r\n })\r\n }\r\n }, [])\r\n return null\r\n}\r\nexport default MFDataLayer\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface DirectionsRendererProps {\r\n routes?: string | object | map4d.RouteOptions | map4d.ILatLng[][]\r\n\r\n /**\r\n * @deprecated The `directions` prop is no longer support, which is subject to removal in a future versions. Use\r\n * the `routes` prop instead.\r\n */\r\n directions?: string\r\n activedIndex?: number\r\n\r\n activeStrokeWidth?: number\r\n activeStrokeColor?: string\r\n activeOutlineWidth?: number\r\n activeOutlineColor?: string\r\n activeStrokePattern?: map4d.PatternItem\r\n\r\n inactiveStrokeWidth?: number\r\n inactiveStrokeColor?: string\r\n inactiveOutlineWidth?: number\r\n inactiveOutlineColor?: string\r\n inactiveStrokePattern?: map4d.PatternItem\r\n\r\n originMarkerOptions?: map4d.MarkerOptions\r\n destinationMarkerOptions?: map4d.MarkerOptions\r\n waypointMarkerOptions?: map4d.MarkerOptions[]\r\n\r\n onMarkerDragEnd?: Function,\r\n\r\n map: map4d.Map,\r\n onCreated: (directionsRenderer?: map4d.DirectionsRenderer) => void\r\n}\r\n\r\nconst MFDirectionsRenderer = (props: DirectionsRendererProps) => {\r\n const {\r\n routes,\r\n activedIndex,\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n activeStrokePattern,\r\n inactiveStrokeWidth,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n inactiveStrokePattern,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const directionRef = useRef<map4d.DirectionsRenderer>()\r\n\r\n useEffect(() => {\r\n if (theMap && !directionRef.current) {\r\n let option = {\r\n routes,\r\n activedIndex,\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n activeStrokePattern,\r\n inactiveStrokeWidth,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n inactiveStrokePattern,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n directionRef.current = new map4d.DirectionsRenderer(option)\r\n directionRef.current?.setMap(theMap)\r\n onCreated && onCreated(directionRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n directionRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n directionRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n directionRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n routes != undefined && directionRef.current?.setRoutes(routes)\r\n }, [routes])\r\n useEffect(() => {\r\n activedIndex != undefined && directionRef.current?.setActivedIndex(activedIndex)\r\n }, [activedIndex])\r\n useEffect(() => {\r\n activeStrokePattern != undefined && directionRef.current?.setActiveStrokePattern(activeStrokePattern)\r\n }, [activeStrokePattern])\r\n useEffect(() => {\r\n inactiveStrokePattern != undefined && directionRef.current?.setInactiveStrokePattern(inactiveStrokePattern)\r\n }, [inactiveStrokePattern])\r\n useEffect(() => {\r\n let option = {\r\n routes,\r\n activedIndex,\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n activeStrokePattern,\r\n inactiveStrokeWidth,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n inactiveStrokePattern,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n directionRef.current?.setOptions(option)\r\n },\r\n [\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd\r\n ]\r\n )\r\n\r\n\r\n return null\r\n}\r\nexport default MFDirectionsRenderer\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface GroundOverlayProps extends map4d.GroundOverlayOptions {\r\n map?: map4d.Map\r\n onCreated?: (groundOverlay: map4d.GroundOverlay) => void\r\n}\r\n\r\nconst MFGroundOverlay = (props: GroundOverlayProps) => {\r\n const {\r\n bounds,\r\n getUrl,\r\n override,\r\n visible,\r\n zIndex,\r\n opacity,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const groundOverlayRef = useRef<map4d.GroundOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n groundOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n let option = {\r\n bounds,\r\n getUrl: getUrl,\r\n override,\r\n visible: visible,\r\n zIndex: zIndex,\r\n opacity: opacity\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n groundOverlayRef.current = new map4d.TileOverlay(option)\r\n groundOverlayRef.current?.setMap(theMap as map4d.Map)\r\n onCreated && onCreated(groundOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !groundOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n groundOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n groundOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n groundOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [bounds, getUrl, override])\r\n useEffect(() => {\r\n visible != undefined && groundOverlayRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n zIndex != undefined && groundOverlayRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n opacity != undefined && groundOverlayRef.current?.setOpacity(opacity)\r\n }, [opacity])\r\n return null\r\n}\r\nexport default MFGroundOverlay\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface ImageOverlayProps extends map4d.ImageOverlayOptions {\r\n map?: map4d.Map,\r\n onCreated?: (imageOverlay: map4d.ImageOverlay) => void\r\n}\r\n\r\nconst MFImageOverlay = (props: ImageOverlayProps) => {\r\n const {\r\n url,\r\n bounds,\r\n visible,\r\n zIndex,\r\n opacity,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const imageOverlayRef = useRef<map4d.ImageOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n imageOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n let option = {\r\n url,\r\n bounds: bounds,\r\n visible: visible,\r\n zIndex: zIndex,\r\n opacity: opacity\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n imageOverlayRef.current = new map4d.ImageOverlay(option)\r\n imageOverlayRef.current?.setMap(theMap as map4d.Map)\r\n onCreated && onCreated(imageOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !imageOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n imageOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n imageOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n imageOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [url, bounds, zIndex])\r\n useEffect(() => {\r\n visible != undefined && imageOverlayRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n opacity != undefined && imageOverlayRef.current?.setOpacity(opacity)\r\n }, [opacity])\r\n return null\r\n}\r\nexport default MFImageOverlay\r\n","import React from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\nexport function addLibrary(url: string, id: string) {\r\n let scriptId = `script_${id}`\r\n let exist = document.getElementById(scriptId)\r\n if (exist) {\r\n return null\r\n }\r\n const script = document.createElement('script')\r\n script.src = url;\r\n script.defer = true;\r\n script.id = scriptId\r\n document.body.appendChild(script)\r\n return script\r\n}\r\n\r\nconst createId = () => {\r\n var dt = new Date().getTime();\r\n var uuid = 'xxxxxxxx_xxxx_4xxx_yxxx_xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = (dt + Math.random() * 16) % 16 | 0;\r\n dt = Math.floor(dt / 16);\r\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return uuid;\r\n}\r\n\r\ninterface MapProps {\r\n mapid?: string\r\n options: map4d.MapOptions,\r\n version: string\r\n accessKey: string,\r\n environment?: \"dev\" | \"test\" | undefined | null,\r\n onMapReady: (map: map4d.Map, key?: string) => void\r\n}\r\n\r\nclass MFMap extends React.Component<MapProps, any> {\r\n\r\n mapKey: string;\r\n callback: string;\r\n mapDomRef: any;\r\n mapRef: map4d.Map;\r\n scriptElement: any;\r\n url: string | null;\r\n constructor(props: MapProps) {\r\n super(props)\r\n this.state = {\r\n map: null\r\n }\r\n this.mapKey = createId()\r\n this.callback = `callback_${this.mapKey}`\r\n this.setMapDomRef = this.setMapDomRef.bind(this)\r\n }\r\n\r\n setMapDomRef(e: any) {\r\n this.mapDomRef = e\r\n }\r\n\r\n componentWillUnmount() {\r\n this.destroy()\r\n }\r\n\r\n destroy() {\r\n delete window[this.callback]\r\n if (this.scriptElement != null) {\r\n this.scriptElement.remove()\r\n }\r\n this.mapRef?.destroy && this.mapRef.destroy()\r\n this.url = null\r\n }\r\n\r\n createCallback() {\r\n window[this.callback] = () => {\r\n if (this.mapDomRef) {\r\n let options = this.props.options\r\n this.mapRef = new window.map4d.Map(this.mapDomRef, options)\r\n if (this.props.onMapReady) {\r\n this.props.onMapReady(this.mapRef, this.mapKey)\r\n }\r\n this.setState({\r\n map: this.mapRef\r\n })\r\n } else {\r\n console.error(`MFMap: map element is NOT found`)\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n let url = `https://api${this.props.environment ? \"-\" + this.props.environment : \"\"}.map4d.vn/sdk/map/js?version=${this.props.version}&key=${this.props.accessKey}&callback=${this.callback}`\r\n if (this.props.mapid) {\r\n url += `&mapId=${this.props.mapid}`\r\n }\r\n if (url != this.url) {\r\n this.destroy()\r\n this.createCallback()\r\n let script = addLibrary(url, this.mapKey)\r\n if (script) {\r\n this.scriptElement = script\r\n }\r\n }\r\n this.url = url\r\n let newContext = { ...this.context }\r\n newContext.map = this.state.map\r\n return (\r\n <Map4dContext.Provider value={newContext}>\r\n <div\r\n style={{ width: '100%', height: '100%', display: 'block' }}\r\n id={`${this.mapKey}`}\r\n ref={this.setMapDomRef}>\r\n </div>\r\n {\r\n this.props.children\r\n }\r\n </Map4dContext.Provider>\r\n );\r\n }\r\n}\r\nMFMap.contextType = Map4dContext\r\n\r\nexport default MFMap;\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext, MarkerClusterContext } from '../context';\r\n\r\ninterface MarkerProps extends map4d.MarkerOptions {\r\n map?: map4d.Map\r\n onCreated: (marker: map4d.Marker) => void\r\n}\r\n\r\nconst MFMarker = (props: MarkerProps) => {\r\n const {\r\n position,\r\n visible = true,\r\n anchor,\r\n labelAnchor,\r\n icon,\r\n elevation,\r\n rotation,\r\n title,\r\n snippet,\r\n windowAnchor,\r\n zIndex,\r\n label,\r\n draggable,\r\n iconView,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const markerClusterContext = useContext(MarkerClusterContext)\r\n\r\n const theMap = map || map4dContext.map\r\n const markerRef = useRef<map4d.Marker>()\r\n\r\n useEffect(() => {\r\n if (theMap && !markerRef.current) {\r\n let option = {\r\n position: position || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n anchor: anchor,\r\n labelAnchor: labelAnchor,\r\n icon: icon,\r\n elevation: elevation,\r\n rotation: rotation,\r\n title: title,\r\n snippet: snippet,\r\n windowAnchor: windowAnchor,\r\n zIndex: zIndex,\r\n label: label,\r\n draggable: draggable,\r\n iconView: iconView,\r\n userInteractionEnabled: userInteractionEnabled\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n markerRef.current = new map4d.Marker(option)\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current?.setMap(theMap)\r\n }\r\n onCreated && onCreated(markerRef.current)\r\n markerClusterContext?.addMarker && markerClusterContext?.addMarker(markerRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current?.setMap(theMap)\r\n }\r\n }\r\n return () => {\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current?.setMap(null)\r\n }\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current?.setMap(null)\r\n }\r\n markerRef.current && markerClusterContext?.removeMarker && markerClusterContext?.removeMarker(markerRef.current)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n markerRef.current?.setPosition(position)\r\n }, [position])\r\n useEffect(() => {\r\n markerRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n anchor != undefined && markerRef.current?.setAnchor(anchor)\r\n }, [anchor])\r\n useEffect(() => {\r\n labelAnchor != undefined && markerRef.current?.setLabelAnchor(labelAnchor)\r\n }, [labelAnchor])\r\n useEffect(() => {\r\n icon != undefined && markerRef.current?.setIcon(icon)\r\n }, [icon])\r\n useEffect(() => {\r\n elevation != undefined && markerRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n rotation != undefined && markerRef.current?.setRotation(rotation)\r\n }, [rotation])\r\n useEffect(() => {\r\n title != undefined && markerRef.current?.setTitle(title)\r\n }, [title])\r\n useEffect(() => {\r\n snippet != undefined && markerRef.current?.setSnippet(snippet)\r\n }, [snippet])\r\n useEffect(() => {\r\n windowAnchor != undefined && markerRef.current?.setWindowAnchor(windowAnchor)\r\n }, [windowAnchor])\r\n useEffect(() => {\r\n zIndex != undefined && markerRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n label != undefined && markerRef.current?.setLabel(label)\r\n }, [label])\r\n useEffect(() => {\r\n draggable != undefined && markerRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n\r\n useEffect(() => {\r\n iconView != undefined && markerRef.current?.setIconView(iconView)\r\n }, [iconView])\r\n\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && markerRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n return null\r\n}\r\nexport default MFMarker\r\n","import React, { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext, MarkerClusterContext } from '../context';\r\n\r\ninterface MarkerClusterProps extends map4d.MarkerClusterOptions {\r\n map?: map4d.Map,\r\n onCreated: (markerCluster: map4d.MarkerClusterer) => void,\r\n children: any\r\n}\r\n\r\nconst MFMarkerCluster = (props: MarkerClusterProps) => {\r\n const {\r\n minZoom = 0,\r\n maxZoom = 22,\r\n radius = 100,\r\n zoomOnClick,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const markerRefs = useRef<map4d.Marker[]>([])\r\n const markerClusterRef = useRef<map4d.MarkerClusterer>()\r\n\r\n const drawCluster = () => {\r\n markerClusterRef.current?.setMap(null)\r\n if (theMap) {\r\n let option = {\r\n minZoom: minZoom,\r\n maxZoom: maxZoom,\r\n radius: radius,\r\n zoomOnClick: zoomOnClick\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n markerClusterRef.current = new map4d.MarkerClusterer(markerRefs.current, option)\r\n markerClusterRef.current?.setMap(theMap)\r\n onCreated && onCreated(markerClusterRef.current)\r\n }\r\n }\r\n const clusterContext = {\r\n addMarker: (marker: map4d.Marker) => {\r\n markerRefs.current.push(marker)\r\n drawCluster()\r\n },\r\n removeMarker: (marker: map4d.Marker) => {\r\n let newMarkers = markerRefs.current.filter(t => t != marker)\r\n markerRefs.current = newMarkers\r\n drawCluster()\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !markerClusterRef.current) {\r\n drawCluster()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n markerClusterRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n markerClusterRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n markerClusterRef.current?.setMap(null)\r\n }\r\n }, [])\r\n useEffect(() => {\r\n if (theMap) {\r\n drawCluster()\r\n }\r\n }, [minZoom, maxZoom, radius])\r\n useEffect(() => {\r\n zoomOnClick != undefined && markerClusterRef.current?.setZoomOnClick(zoomOnClick)\r\n }, [zoomOnClick])\r\n\r\n return (\r\n <MarkerClusterContext.Provider value={clusterContext}>\r\n {props?.children}\r\n </MarkerClusterContext.Provider>\r\n )\r\n}\r\nexport default MFMarkerCluster\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface POIProps extends map4d.POIOptions {\r\n map?: map4d.Map,\r\n onCreated?: (poi: map4d.POI) => void\r\n}\r\n\r\nconst MFPOI = (props: POIProps) => {\r\n const {\r\n position,\r\n title,\r\n subtitle,\r\n color,\r\n type,\r\n icon,\r\n elevation,\r\n zIndex,\r\n visible,\r\n draggable,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const poiRef = useRef<map4d.POI>()\r\n\r\n useEffect(() => {\r\n if (theMap && !poiRef.current) {\r\n let option = {\r\n position: position || { lat: 10.793113, lng: 106.720739 },\r\n title: title,\r\n subtitle: subtitle,\r\n color: color,\r\n type: type,\r\n icon: icon,\r\n elevation: elevation,\r\n zIndex: zIndex,\r\n visible: visible,\r\n draggable: draggable,\r\n userInteractionEnabled: userInteractionEnabled\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n poiRef.current = new map4d.POI(option)\r\n poiRef.current?.setMap(theMap)\r\n onCreated && onCreated(poiRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n poiRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n poiRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n poiRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n poiRef.current?.setPosition(position)\r\n }, [position])\r\n useEffect(() => {\r\n title != undefined && poiRef.current?.setTitle(title)\r\n }, [title])\r\n useEffect(() => {\r\n subtitle != undefined && poiRef.current?.setSubtitle(subtitle)\r\n }, [subtitle])\r\n useEffect(() => {\r\n color != undefined && poiRef.current?.setColor(color)\r\n }, [color])\r\n useEffect(() => {\r\n type != undefined && poiRef.current?.setType(type)\r\n }, [type])\r\n useEffect(() => {\r\n icon != undefined && poiRef.current?.setIcon(icon)\r\n }, [icon])\r\n useEffect(() => {\r\n elevation != undefined && poiRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n zIndex != undefined && poiRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n visible != undefined && poiRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n draggable != undefined && poiRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && poiRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n return null\r\n}\r\nexport default MFPOI\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface POIOverlayProps extends map4d.POIOverlayOptions {\r\n map?: map4d.Map,\r\n onCreated?: (poiOverlay: map4d.POIOverlay) => void\r\n}\r\n\r\nconst MFPOIOverlay = (props: POIOverlayProps) => {\r\n const {\r\n getUrl,\r\n visible = true,\r\n parserData,\r\n prefixId,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const poiOverlayRef = useRef<map4d.POIOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n poiOverlayRef.current?.setMap(null)\r\n let option = {\r\n getUrl: getUrl || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n parserData: parserData,\r\n prefixId: prefixId\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n poiOverlayRef.current = new map4d.POIOverlay(option)\r\n poiOverlayRef.current?.setMap(theMap)\r\n onCreated && onCreated(poiOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !poiOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n poiOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n poiOverlayRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n poiOverlayRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [getUrl, parserData, prefixId])\r\n return null\r\n}\r\nexport default MFPOIOverlay\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface PolygonProps extends map4d.PolygonOptions {\r\n map?: map4d.Map,\r\n onCreated: (polygon: map4d.Polygon) => void\r\n}\r\n\r\nconst MFPolygon = (props: PolygonProps) => {\r\n const {\r\n paths,\r\n fillColor,\r\n fillOpacity,\r\n visible = true,\r\n strokeColor,\r\n strokeWidth,\r\n draggable,\r\n elevation,\r\n zIndex,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const polygonRef = useRef<map4d.Polygon>()\r\n\r\n useEffect(() => {\r\n if (theMap && !polygonRef.current) {\r\n let option = {\r\n paths: paths,\r\n fillColor: fillColor,\r\n fillOpacity: fillOpacity,\r\n visible: visible,\r\n strokeColor: strokeColor,\r\n strokeWidth: strokeWidth,\r\n draggable: draggable,\r\n elevation: elevation,\r\n zIndex: zIndex,\r\n userInteractionEnabled: userInteractionEnabled,\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n polygonRef.current = new map4d.Polygon(option)\r\n polygonRef.current?.setMap(theMap)\r\n onCreated && onCreated(polygonRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n polygonRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n polygonRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n polygonRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n polygonRef.current?.setPaths(paths)\r\n }, [paths])\r\n useEffect(() => {\r\n fillColor != undefined && polygonRef.current?.setFillColor(fillColor)\r\n }, [fillColor])\r\n useEffect(() => {\r\n fillOpacity != undefined && polygonRef.current?.setFillOpacity(fillOpacity)\r\n }, [fillOpacity])\r\n useEffect(() => {\r\n polygonRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n strokeColor != undefined && polygonRef.current?.setStrokeColor(strokeColor)\r\n }, [strokeColor])\r\n useEffect(() => {\r\n strokeWidth != undefined && polygonRef.current?.setStrokeWidth(strokeWidth)\r\n }, [strokeWidth])\r\n useEffect(() => {\r\n draggable != undefined && polygonRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n elevation != undefined && polygonRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n zIndex != undefined && polygonRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && polygonRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n\r\n return null\r\n}\r\nexport default MFPolygon\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface PolylineProps extends map4d.PolylineOptions {\r\n map?: map4d.Map,\r\n onCreated?: (polyline: map4d.Polyline) => void\r\n}\r\n\r\nconst MFPolyline = (props: PolylineProps) => {\r\n const {\r\n path,\r\n strokeWidth,\r\n strokeColor,\r\n strokeOpacity,\r\n visible = true,\r\n closed,\r\n draggable,\r\n zIndex,\r\n elevation,\r\n strokePattern,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const polylineRef = useRef<map4d.Polyline>()\r\n\r\n useEffect(() => {\r\n if (theMap && !polylineRef.current) {\r\n let option = {\r\n path: path || { lat: 10.793113, lng: 106.720739 },\r\n strokeWidth: strokeWidth,\r\n strokeColor: strokeColor,\r\n strokeOpacity: strokeOpacity,\r\n visible: visible,\r\n closed: closed,\r\n draggable: draggable,\r\n zIndex: zIndex,\r\n elevation: elevation,\r\n strokePattern: strokePattern,\r\n userInteractionEnabled: userInteractionEnabled,\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n polylineRef.current = new map4d.Polyline(option)\r\n polylineRef.current?.setMap(theMap)\r\n onCreated && onCreated(polylineRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n polylineRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n polylineRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n polylineRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n polylineRef.current?.setPath(path)\r\n }, [path])\r\n useEffect(() => {\r\n strokeWidth != undefined && polylineRef.current?.setStrokeWidth(strokeWidth)\r\n }, [strokeWidth])\r\n useEffect(() => {\r\n strokeColor != undefined && polylineRef.current?.setStrokeColor(strokeColor)\r\n }, [strokeColor])\r\n useEffect(() => {\r\n strokeOpacity != undefined && polylineRef.current?.setStrokeOpacity(strokeOpacity)\r\n }, [strokeOpacity])\r\n useEffect(() => {\r\n visible != undefined && polylineRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n closed != undefined && polylineRef.current?.setClosed(closed)\r\n }, [closed])\r\n useEffect(() => {\r\n draggable != undefined && polylineRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n zIndex != undefined && polylineRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n elevation != undefined && polylineRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n strokePattern != undefined && polylineRef.current?.setStrokePattern(strokePattern)\r\n }, [strokePattern])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && polylineRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n\r\n return null\r\n}\r\nexport default MFPolyline\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface TileOverlayProps extends map4d.TileOverlayOptions {\r\n map?: map4d.Map,\r\n onCreated?: (tileOverlay: map4d.TileOverlay) => void\r\n}\r\n\r\nconst MFTileOverlay = (props: TileOverlayProps) => {\r\n const {\r\n getUrl,\r\n visible = true,\r\n zIndex,\r\n opacity,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const tileOverlayRef = useRef<map4d.TileOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n tileOverlayRef.current?.setMap(null)\r\n let option = {\r\n getUrl: getUrl || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n zIndex: zIndex,\r\n opacity: opacity\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n tileOverlayRef.current = new map4d.TileOverlay(option)\r\n tileOverlayRef.current?.setMap(theMap)\r\n onCreated && onCreated(tileOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !tileOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n tileOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n tileOverlayRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n tileOverlayRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [getUrl])\r\n useEffect(() => {\r\n tileOverlayRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n zIndex != undefined && tileOverlayRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n opacity != undefined && tileOverlayRef.current?.setOpacity(opacity)\r\n }, [opacity])\r\n return null\r\n}\r\nexport default MFTileOverlay\r\n"],"names":["defaultCt","map","Map4dContext","createContext","markerClusterDefaultContext","addMarker","removeMarker","MarkerClusterContext","MFBuilding","props","position","name","scale","bearing","elevation","height","model","texture","coordinates","visible","draggable","userInteractionEnabled","selected","growUp","onCreated","map4dContext","useContext","theMap","buildingRef","useRef","useEffect","current","option","lat","lng","Object","keys","forEach","key","undefined","map4d","Building","setMap","setPosition","setName","setScale","setBearing","setElevation","setHeight","setModel","setTexture","setCoordinates","setVisible","setDraggable","setUserInteraction","setSelected","setGrowUp","MFBuildingOverlay","getUrl","parserData","prefixId","buildingOverlayRef","reCreate","BuildingOverlay","VariableTool","variable","MFCircle","center","radius","fillColor","fillOpacity","strokeColor","strokeWidth","zIndex","circleRef","Circle","hasValue","setCenter","setRadius","setFillColor","setFillOpacity","setStrokeColor","setStrokeWidth","setZIndex","MFDataLayer","geoJsonString","dataLayerRef","feature","data","remove","addGeoJson","MFDirectionsRenderer","routes","activedIndex","activeStrokeWidth","activeStrokeColor","activeOutlineWidth","activeOutlineColor","activeStrokePattern","inactiveStrokeWidth","inactiveStrokeColor","inactiveOutlineWidth","inactiveOutlineColor","inactiveStrokePattern","originMarkerOptions","destinationMarkerOptions","waypointMarkerOptions","onMarkerDragEnd","directionRef","DirectionsRenderer","setRoutes","setActivedIndex","setActiveStrokePattern","setInactiveStrokePattern","setOptions","MFGroundOverlay","bounds","override","opacity","groundOverlayRef","TileOverlay","setOpacity","MFImageOverlay","url","imageOverlayRef","ImageOverlay","addLibrary","id","scriptId","exist","document","getElementById","script","createElement","src","defer","body","appendChild","createId","dt","Date","getTime","uuid","replace","c","r","Math","random","floor","toString","MFMap","state","mapKey","callback","setMapDomRef","bind","e","mapDomRef","componentWillUnmount","destroy","window","scriptElement","mapRef","createCallback","options","Map","onMapReady","setState","console","error","render","environment","version","accessKey","mapid","newContext","context","React","Provider","value","style","width","display","ref","children","Component","contextType","MFMarker","anchor","labelAnchor","icon","rotation","title","snippet","windowAnchor","label","iconView","markerClusterContext","markerRef","Marker","setAnchor","setLabelAnchor","setIcon","setRotation","setTitle","setSnippet","setWindowAnchor","setLabel","setIconView","MFMarkerCluster","minZoom","maxZoom","zoomOnClick","markerRefs","markerClusterRef","drawCluster","MarkerClusterer","clusterContext","marker","push","newMarkers","filter","t","setZoomOnClick","MFPOI","subtitle","color","type","poiRef","POI","setSubtitle","setColor","setType","MFPOIOverlay","poiOverlayRef","POIOverlay","MFPolygon","paths","polygonRef","Polygon","setPaths","MFPolyline","path","strokeOpacity","closed","strokePattern","polylineRef","Polyline","setPath","setStrokeOpacity","setClosed","setStrokePattern","MFTileOverlay","tileOverlayRef"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/context/Map4dContext.ts","../src/context/MarkerClusterContext.ts","../src/components/MFBuilding.tsx","../src/components/MFBuildingOverlay.tsx","../src/tool/variableTool.ts","../src/components/MFCircle.tsx","../src/components/MFDataLayer.tsx","../src/components/MFDirectionsRenderer.tsx","../src/components/MFGroundOverlay.tsx","../src/components/MFImageOverlay.tsx","../src/components/MFMap.tsx","../src/components/MFMarker.tsx","../src/components/MFMarkerCluster.tsx","../src/components/MFPOI.tsx","../src/components/MFPOIOverlay.tsx","../src/components/MFPolygon.tsx","../src/components/MFPolyline.tsx","../src/components/MFTileOverlay.tsx"],"sourcesContent":["import { createContext } from 'react';\r\n\r\nexport const defaultCt = {\r\n map: null,\r\n}\r\nexport const Map4dContext = createContext(defaultCt)","import { createContext } from 'react';\r\n\r\nexport const markerClusterDefaultContext = {\r\n addMarker: null as unknown as (marker: map4d.Marker)=>void,\r\n removeMarker: null as unknown as (marker: map4d.Marker)=>void,\r\n}\r\nexport const MarkerClusterContext = createContext(markerClusterDefaultContext)","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface BuildingProps {\r\n position?: map4d.ILatLng\r\n name?: string\r\n scale?: number\r\n bearing?: number\r\n elevation?: number\r\n height?: number\r\n model?: string\r\n texture?: string\r\n coordinates?: map4d.ILatLng[]\r\n zIndex?: number\r\n visible?: boolean\r\n draggable?: boolean\r\n userInteractionEnabled?: boolean\r\n selected?: boolean\r\n growUp?: boolean\r\n map?: map4d.Map\r\n onCreated?: (building: map4d.Building) => void\r\n}\r\nconst MFBuilding = (props: BuildingProps) => {\r\n const {\r\n position,\r\n name,\r\n scale,\r\n bearing,\r\n elevation,\r\n height,\r\n model,\r\n texture,\r\n coordinates,\r\n visible,\r\n draggable,\r\n userInteractionEnabled,\r\n selected,\r\n growUp,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const buildingRef = useRef(null as unknown as map4d.Building)\r\n\r\n useEffect(() => {\r\n if (theMap && !buildingRef.current) {\r\n let option = {\r\n position: position || { lat: 10.793113, lng: 106.720739 },\r\n name: name,\r\n scale: scale,\r\n bearing: bearing,\r\n elevation: elevation,\r\n height: height,\r\n model: model,\r\n texture: texture,\r\n coordinates: coordinates,\r\n visible: visible,\r\n draggable: draggable,\r\n userInteractionEnabled: userInteractionEnabled,\r\n selected: selected,\r\n growUp: growUp\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n buildingRef.current = new map4d.Building(option)\r\n buildingRef.current?.setMap(theMap)\r\n onCreated && onCreated(buildingRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n buildingRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n buildingRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n buildingRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n buildingRef.current?.setPosition(position as map4d.ILatLng)\r\n }, [position])\r\n useEffect(() => {\r\n name != undefined && buildingRef.current?.setName(name)\r\n }, [name])\r\n useEffect(() => {\r\n scale != undefined && buildingRef.current?.setScale(scale)\r\n }, [scale])\r\n useEffect(() => {\r\n if (bearing != undefined) {\r\n buildingRef.current?.setBearing(bearing)\r\n }\r\n }, [bearing])\r\n useEffect(() => {\r\n elevation != undefined && buildingRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n height != undefined && buildingRef.current?.setHeight(height)\r\n }, [height])\r\n useEffect(() => {\r\n model != undefined && buildingRef.current?.setModel(model)\r\n }, [model])\r\n useEffect(() => {\r\n texture != undefined && buildingRef.current?.setTexture(texture)\r\n }, [texture])\r\n useEffect(() => {\r\n coordinates != undefined && buildingRef.current?.setCoordinates(coordinates)\r\n }, [coordinates])\r\n useEffect(() => {\r\n visible != undefined && buildingRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n draggable != undefined && buildingRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && buildingRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n useEffect(() => {\r\n selected != undefined && buildingRef.current?.setSelected(selected)\r\n }, [selected])\r\n useEffect(() => {\r\n growUp != undefined && buildingRef.current?.setGrowUp(growUp)\r\n }, [growUp])\r\n return null\r\n}\r\nexport default MFBuilding\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface BuildingOverlayProps {\r\n getUrl: (x: number, y: number, zoom: number) => any\r\n parserData: (response: any) => any\r\n prefixId?: string\r\n visible?: boolean\r\n map?: map4d.Map\r\n onCreated?: (buildingOverlay: map4d.BuildingOverlay) => void\r\n}\r\nconst MFBuildingOverlay = (props: BuildingOverlayProps) => {\r\n const {\r\n getUrl,\r\n visible,\r\n parserData,\r\n prefixId,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const buildingOverlayRef = useRef<map4d.BuildingOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n buildingOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n let option = {\r\n getUrl: getUrl || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n parserData: parserData,\r\n prefixId: prefixId\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n buildingOverlayRef.current = new map4d.BuildingOverlay(option)\r\n buildingOverlayRef.current?.setMap(theMap as map4d.Map)\r\n onCreated && onCreated(buildingOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !buildingOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n buildingOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n buildingOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n buildingOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [getUrl, parserData, prefixId, visible])\r\n return null\r\n}\r\nexport default MFBuildingOverlay\r\n","export class VariableTool {\r\n static hasValue = (variable: any) => {\r\n if (variable != undefined && variable != null) {\r\n return true\r\n }\r\n return false\r\n }\r\n}","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\nimport { VariableTool } from '../tool';\r\n\r\ninterface CircleProps {\r\n center: map4d.ILatLng\r\n radius?: number\r\n fillColor?: string\r\n fillOpacity?: number\r\n visible?: boolean\r\n strokeColor?: string\r\n strokeWidth?: number\r\n draggable?: boolean\r\n zIndex?: number\r\n elevation?: number\r\n userInteractionEnabled?: boolean\r\n map?: map4d.Map\r\n onCreated?: (circle: map4d.Circle) => void\r\n}\r\n\r\nconst MFCircle = (props: CircleProps) => {\r\n const {\r\n center,\r\n radius,\r\n fillColor,\r\n fillOpacity,\r\n visible,\r\n strokeColor,\r\n strokeWidth,\r\n draggable,\r\n zIndex,\r\n elevation,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const circleRef = useRef<map4d.Circle>()\r\n\r\n useEffect(() => {\r\n if (theMap && !circleRef.current) {\r\n let option = {\r\n center: center || { lat: 10.793113, lng: 106.720739 },\r\n radius: radius,\r\n fillColor: fillColor,\r\n fillOpacity: fillOpacity,\r\n visible: visible,\r\n strokeColor: strokeColor,\r\n strokeWidth: strokeWidth,\r\n draggable: draggable,\r\n zIndex: zIndex,\r\n elevation: elevation,\r\n userInteractionEnabled: userInteractionEnabled,\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n circleRef.current = new map4d.Circle(option)\r\n circleRef.current?.setMap(theMap)\r\n onCreated && onCreated(circleRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n circleRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n circleRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n circleRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (VariableTool.hasValue(center)) {\r\n circleRef.current?.setCenter(center)\r\n }\r\n\r\n }, [center])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(radius)) {\r\n circleRef.current?.setRadius(radius as number)\r\n }\r\n }, [radius])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(fillColor)) {\r\n circleRef.current?.setFillColor(fillColor as string)\r\n }\r\n }, [fillColor])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(fillOpacity)) {\r\n circleRef.current?.setFillOpacity(fillOpacity as number)\r\n }\r\n }, [fillOpacity])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(visible)) {\r\n circleRef.current?.setVisible(visible as boolean)\r\n }\r\n }, [visible])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(strokeColor)) {\r\n circleRef.current?.setStrokeColor(strokeColor as string)\r\n }\r\n }, [strokeColor])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(strokeWidth)) {\r\n circleRef.current?.setStrokeWidth(strokeWidth as number)\r\n }\r\n }, [strokeWidth])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(draggable)) {\r\n circleRef.current?.setDraggable(draggable as boolean)\r\n }\r\n }, [draggable])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(zIndex)) {\r\n circleRef.current?.setZIndex(zIndex as number)\r\n }\r\n }, [zIndex])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(elevation)) {\r\n circleRef.current?.setElevation(elevation as number)\r\n }\r\n }, [elevation])\r\n useEffect(() => {\r\n if (VariableTool.hasValue(userInteractionEnabled)) {\r\n circleRef.current?.setUserInteraction(userInteractionEnabled as boolean)\r\n }\r\n }, [userInteractionEnabled])\r\n\r\n return null\r\n}\r\n\r\nexport default MFCircle\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface DataLayerProps {\r\n geoJsonString: string\r\n map?: map4d.Map\r\n onCreated?: (dataLeyer?: map4d.Data.Feature[]) => void\r\n}\r\n\r\nconst MFDataLayer = (props: DataLayerProps) => {\r\n const {\r\n geoJsonString,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const dataLayerRef = useRef<map4d.Data.Feature[]>()\r\n\r\n\r\n const reCreate = () => {\r\n dataLayerRef.current?.forEach((feature) => {\r\n theMap?.data?.remove(feature)\r\n })\r\n dataLayerRef.current = theMap?.data?.addGeoJson(geoJsonString)\r\n onCreated && onCreated(dataLayerRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n return () => {\r\n dataLayerRef.current?.forEach((feature) => {\r\n theMap?.data?.remove(feature)\r\n })\r\n }\r\n }, [])\r\n return null\r\n}\r\nexport default MFDataLayer\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface DirectionsRendererProps {\r\n routes?: string | object | map4d.RouteOptions | map4d.ILatLng[][]\r\n\r\n /**\r\n * @deprecated The `directions` prop is no longer support, which is subject to removal in a future versions. Use\r\n * the `routes` prop instead.\r\n */\r\n directions?: string\r\n activedIndex?: number\r\n\r\n activeStrokeWidth?: number\r\n activeStrokeColor?: string\r\n activeOutlineWidth?: number\r\n activeOutlineColor?: string\r\n activeStrokePattern?: map4d.PatternItem\r\n\r\n inactiveStrokeWidth?: number\r\n inactiveStrokeColor?: string\r\n inactiveOutlineWidth?: number\r\n inactiveOutlineColor?: string\r\n inactiveStrokePattern?: map4d.PatternItem\r\n\r\n originMarkerOptions?: map4d.MarkerOptions\r\n destinationMarkerOptions?: map4d.MarkerOptions\r\n waypointMarkerOptions?: map4d.MarkerOptions[]\r\n\r\n onMarkerDragEnd?: Function,\r\n\r\n map: map4d.Map,\r\n onCreated: (directionsRenderer?: map4d.DirectionsRenderer) => void\r\n}\r\n\r\nconst MFDirectionsRenderer = (props: DirectionsRendererProps) => {\r\n const {\r\n routes,\r\n activedIndex,\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n activeStrokePattern,\r\n inactiveStrokeWidth,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n inactiveStrokePattern,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const directionRef = useRef<map4d.DirectionsRenderer>()\r\n\r\n useEffect(() => {\r\n if (theMap && !directionRef.current) {\r\n let option = {\r\n routes,\r\n activedIndex,\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n activeStrokePattern,\r\n inactiveStrokeWidth,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n inactiveStrokePattern,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n directionRef.current = new map4d.DirectionsRenderer(option)\r\n directionRef.current?.setMap(theMap)\r\n onCreated && onCreated(directionRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n directionRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n directionRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n directionRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n routes != undefined && directionRef.current?.setRoutes(routes)\r\n }, [routes])\r\n useEffect(() => {\r\n activedIndex != undefined && directionRef.current?.setActivedIndex(activedIndex)\r\n }, [activedIndex])\r\n useEffect(() => {\r\n activeStrokePattern != undefined && directionRef.current?.setActiveStrokePattern(activeStrokePattern)\r\n }, [activeStrokePattern])\r\n useEffect(() => {\r\n inactiveStrokePattern != undefined && directionRef.current?.setInactiveStrokePattern(inactiveStrokePattern)\r\n }, [inactiveStrokePattern])\r\n useEffect(() => {\r\n let option = {\r\n routes,\r\n activedIndex,\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n activeStrokePattern,\r\n inactiveStrokeWidth,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n inactiveStrokePattern,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n directionRef.current?.setOptions(option)\r\n },\r\n [\r\n activeStrokeWidth,\r\n activeStrokeColor,\r\n activeOutlineWidth,\r\n activeOutlineColor,\r\n inactiveStrokeColor,\r\n inactiveOutlineWidth,\r\n inactiveOutlineColor,\r\n originMarkerOptions,\r\n destinationMarkerOptions,\r\n waypointMarkerOptions,\r\n onMarkerDragEnd\r\n ]\r\n )\r\n\r\n\r\n return null\r\n}\r\nexport default MFDirectionsRenderer\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface GroundOverlayProps extends map4d.GroundOverlayOptions {\r\n map?: map4d.Map\r\n onCreated?: (groundOverlay: map4d.GroundOverlay) => void\r\n}\r\n\r\nconst MFGroundOverlay = (props: GroundOverlayProps) => {\r\n const {\r\n bounds,\r\n getUrl,\r\n override,\r\n visible,\r\n zIndex,\r\n opacity,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const groundOverlayRef = useRef<map4d.GroundOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n groundOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n let option = {\r\n bounds,\r\n getUrl: getUrl,\r\n override,\r\n visible: visible,\r\n zIndex: zIndex,\r\n opacity: opacity\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n groundOverlayRef.current = new map4d.TileOverlay(option)\r\n groundOverlayRef.current?.setMap(theMap as map4d.Map)\r\n onCreated && onCreated(groundOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !groundOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n groundOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n groundOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n groundOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [bounds, getUrl, override])\r\n useEffect(() => {\r\n visible != undefined && groundOverlayRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n zIndex != undefined && groundOverlayRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n opacity != undefined && groundOverlayRef.current?.setOpacity(opacity)\r\n }, [opacity])\r\n return null\r\n}\r\nexport default MFGroundOverlay\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface ImageOverlayProps extends map4d.ImageOverlayOptions {\r\n map?: map4d.Map,\r\n onCreated?: (imageOverlay: map4d.ImageOverlay) => void\r\n}\r\n\r\nconst MFImageOverlay = (props: ImageOverlayProps) => {\r\n const {\r\n url,\r\n bounds,\r\n visible,\r\n zIndex,\r\n opacity,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const imageOverlayRef = useRef<map4d.ImageOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n imageOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n let option = {\r\n url,\r\n bounds: bounds,\r\n visible: visible,\r\n zIndex: zIndex,\r\n opacity: opacity\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n imageOverlayRef.current = new map4d.ImageOverlay(option)\r\n imageOverlayRef.current?.setMap(theMap as map4d.Map)\r\n onCreated && onCreated(imageOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !imageOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n imageOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n imageOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n imageOverlayRef.current?.setMap(null as unknown as map4d.Map)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [url, bounds, zIndex])\r\n useEffect(() => {\r\n visible != undefined && imageOverlayRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n opacity != undefined && imageOverlayRef.current?.setOpacity(opacity)\r\n }, [opacity])\r\n return null\r\n}\r\nexport default MFImageOverlay\r\n","import React from 'react';\r\nimport { Map4dContext } from '../context';\r\nimport { MapEventEnum } from '../enum';\r\n\r\nexport function addLibrary(url: string, id: string) {\r\n let scriptId = `script_${id}`\r\n let exist = document.getElementById(scriptId)\r\n if (exist) {\r\n return null\r\n }\r\n const script = document.createElement('script')\r\n script.src = url;\r\n script.defer = true;\r\n script.id = scriptId\r\n document.body.appendChild(script)\r\n return script\r\n}\r\n\r\nconst createId = () => {\r\n var dt = new Date().getTime();\r\n var uuid = 'xxxxxxxx_xxxx_4xxx_yxxx_xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = (dt + Math.random() * 16) % 16 | 0;\r\n dt = Math.floor(dt / 16);\r\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return uuid;\r\n}\r\n\r\ninterface MapProps {\r\n mapid?: string\r\n options: map4d.MapOptions,\r\n version: string\r\n accessKey: string,\r\n environment?: \"dev\" | \"test\" | undefined | null,\r\n onMapReady: (map: map4d.Map, key?: string) => void\r\n}\r\n\r\nclass MFMap extends React.Component<MapProps, any> {\r\n\r\n mapKey: string;\r\n callback: string;\r\n mapDomRef: any;\r\n mapRef: map4d.Map;\r\n scriptElement: any;\r\n url: string | null;\r\n eventClickMarker: any\r\n eventRightClickMarker: any\r\n eventDragEndMarker: any\r\n constructor(props: MapProps) {\r\n super(props)\r\n this.state = {\r\n map: null\r\n }\r\n this.mapKey = createId()\r\n this.callback = `callback_${this.mapKey}`\r\n this.setMapDomRef = this.setMapDomRef.bind(this)\r\n }\r\n\r\n setMapDomRef(e: any) {\r\n this.mapDomRef = e\r\n }\r\n\r\n componentWillUnmount() {\r\n this.destroy()\r\n }\r\n\r\n destroy() {\r\n delete window[this.callback]\r\n if (this.scriptElement != null) {\r\n this.scriptElement.remove()\r\n }\r\n this.eventClickMarker?.remove()\r\n this.eventRightClickMarker?.remove()\r\n this.eventDragEndMarker?.remove()\r\n this.mapRef?.destroy && this.mapRef.destroy()\r\n this.url = null\r\n }\r\n\r\n registerEvent() {\r\n this.eventClickMarker = this.mapRef?.addListener(MapEventEnum.click, (args: any) => {\r\n args.marker?.onClick && args.marker?.onClick()\r\n }, {\r\n marker: true\r\n })\r\n this.eventRightClickMarker = this.mapRef?.addListener(MapEventEnum.rightClick, (args: any) => {\r\n args.marker?.onRightClick && args.marker?.onRightClick()\r\n }, {\r\n marker: true\r\n })\r\n this.eventDragEndMarker = this.mapRef?.addListener(MapEventEnum.dragEnd, (args: any) => {\r\n args.marker?.onDragEnd && args.marker?.onDragEnd()\r\n }, {\r\n marker: true\r\n })\r\n\r\n }\r\n\r\n createCallback() {\r\n window[this.callback] = () => {\r\n if (this.mapDomRef) {\r\n let options = this.props.options\r\n this.mapRef = new window.map4d.Map(this.mapDomRef, options)\r\n if (this.props.onMapReady) {\r\n this.props.onMapReady(this.mapRef, this.mapKey)\r\n }\r\n this.registerEvent()\r\n\r\n this.setState({\r\n map: this.mapRef\r\n })\r\n } else {\r\n console.error(`MFMap: map element is NOT found`)\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n let url = `https://api${this.props.environment ? \"-\" + this.props.environment : \"\"}.map4d.vn/sdk/map/js?version=${this.props.version}&key=${this.props.accessKey}&callback=${this.callback}`\r\n if (this.props.mapid) {\r\n url += `&mapId=${this.props.mapid}`\r\n }\r\n if (url != this.url) {\r\n this.destroy()\r\n this.createCallback()\r\n let script = addLibrary(url, this.mapKey)\r\n if (script) {\r\n this.scriptElement = script\r\n }\r\n }\r\n this.url = url\r\n let newContext = {\r\n map: this.state.map\r\n }\r\n return (\r\n <Map4dContext.Provider value={newContext}>\r\n <div\r\n style={{ width: '100%', height: '100%', display: 'block' }}\r\n id={`${this.mapKey}`}\r\n ref={this.setMapDomRef}>\r\n </div>\r\n {\r\n this.props.children\r\n }\r\n </Map4dContext.Provider>\r\n );\r\n }\r\n}\r\nMFMap.contextType = Map4dContext\r\n\r\nexport default MFMap;\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext, MarkerClusterContext } from '../context';\r\n\r\ninterface MarkerProps extends map4d.MarkerOptions {\r\n position: any\r\n visible?: boolean\r\n anchor?: any\r\n labelAnchor?: any\r\n icon?: any\r\n elevation?: number\r\n rotation?: number\r\n title?: string\r\n snippet?: string\r\n windowAnchor?: any\r\n zIndex?: number\r\n label?: any\r\n draggable?: boolean\r\n iconView?: string | Node\r\n userInteractionEnabled?: boolean\r\n map?: map4d.Map,\r\n onClick: (marker: any) => void\r\n onCreated: (marker: any) => void\r\n onRightClick: (marker: any) => void\r\n onDragEnd: (marker: any) => void\r\n}\r\n\r\nconst MFMarker = (props: MarkerProps) => {\r\n const {\r\n position,\r\n visible = true,\r\n anchor,\r\n labelAnchor,\r\n icon,\r\n elevation,\r\n rotation,\r\n title,\r\n snippet,\r\n windowAnchor,\r\n zIndex,\r\n label,\r\n draggable,\r\n iconView,\r\n userInteractionEnabled,\r\n map,\r\n onCreated,\r\n onClick\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const markerClusterContext = useContext(MarkerClusterContext)\r\n\r\n const theMap = map || map4dContext.map\r\n const markerRef = useRef<any>()\r\n\r\n useEffect(() => {\r\n if (theMap && !markerRef.current) {\r\n let option = {\r\n position: position || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n anchor: anchor,\r\n labelAnchor: labelAnchor,\r\n icon: icon,\r\n elevation: elevation,\r\n rotation: rotation,\r\n title: title,\r\n snippet: snippet,\r\n windowAnchor: windowAnchor,\r\n zIndex: zIndex,\r\n label: label,\r\n draggable: draggable,\r\n iconView: iconView,\r\n userInteractionEnabled: userInteractionEnabled\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n markerRef.current = new map4d.Marker(option)\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current.setMap(theMap)\r\n }\r\n markerRef.current.onClick = onClick\r\n markerRef.current.onRightClick = props.onRightClick\r\n markerRef.current.onDragEnd = props.onDragEnd\r\n onCreated && onCreated(markerRef.current)\r\n markerClusterContext?.addMarker && markerClusterContext?.addMarker(markerRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current?.setMap(theMap)\r\n }\r\n }\r\n return () => {\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current?.setMap(null)\r\n }\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n if (!markerClusterContext?.addMarker) {\r\n markerRef.current?.setMap(null)\r\n }\r\n markerRef.current && markerClusterContext?.removeMarker && markerClusterContext?.removeMarker(markerRef.current)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n markerRef.current?.setPosition(position)\r\n }, [position])\r\n useEffect(() => {\r\n markerRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n anchor != undefined && markerRef.current?.setAnchor(anchor)\r\n }, [anchor])\r\n useEffect(() => {\r\n labelAnchor != undefined && markerRef.current?.setLabelAnchor(labelAnchor)\r\n }, [labelAnchor])\r\n useEffect(() => {\r\n icon != undefined && markerRef.current?.setIcon(icon)\r\n }, [icon])\r\n useEffect(() => {\r\n elevation != undefined && markerRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n rotation != undefined && markerRef.current?.setRotation(rotation)\r\n }, [rotation])\r\n useEffect(() => {\r\n title != undefined && markerRef.current?.setTitle(title)\r\n }, [title])\r\n useEffect(() => {\r\n snippet != undefined && markerRef.current?.setSnippet(snippet)\r\n }, [snippet])\r\n useEffect(() => {\r\n windowAnchor != undefined && markerRef.current?.setWindowAnchor(windowAnchor)\r\n }, [windowAnchor])\r\n useEffect(() => {\r\n zIndex != undefined && markerRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n label != undefined && markerRef.current?.setLabel(label)\r\n }, [label])\r\n useEffect(() => {\r\n draggable != undefined && markerRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n\r\n useEffect(() => {\r\n iconView != undefined && markerRef.current?.setIconView(iconView)\r\n }, [iconView])\r\n\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && markerRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n return null\r\n}\r\nexport default MFMarker\r\n","import React, { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext, MarkerClusterContext } from '../context';\r\n\r\ninterface MarkerClusterProps extends map4d.MarkerClusterOptions {\r\n map?: map4d.Map,\r\n onCreated: (markerCluster: map4d.MarkerClusterer) => void,\r\n children: any\r\n}\r\n\r\nconst MFMarkerCluster = (props: MarkerClusterProps) => {\r\n const {\r\n minZoom = 0,\r\n maxZoom = 22,\r\n radius = 100,\r\n zoomOnClick,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const markerRefs = useRef<map4d.Marker[]>([])\r\n const markerClusterRef = useRef<map4d.MarkerClusterer>()\r\n\r\n const drawCluster = () => {\r\n markerClusterRef.current?.setMap(null)\r\n if (theMap) {\r\n let option = {\r\n minZoom: minZoom,\r\n maxZoom: maxZoom,\r\n radius: radius,\r\n zoomOnClick: zoomOnClick\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n markerClusterRef.current = new map4d.MarkerClusterer(markerRefs.current, option)\r\n markerClusterRef.current?.setMap(theMap)\r\n onCreated && onCreated(markerClusterRef.current)\r\n }\r\n }\r\n const clusterContext = {\r\n addMarker: (marker: map4d.Marker) => {\r\n markerRefs.current.push(marker)\r\n drawCluster()\r\n },\r\n removeMarker: (marker: map4d.Marker) => {\r\n let newMarkers = markerRefs.current.filter(t => t != marker)\r\n markerRefs.current = newMarkers\r\n drawCluster()\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !markerClusterRef.current) {\r\n drawCluster()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n markerClusterRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n markerClusterRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n markerClusterRef.current?.setMap(null)\r\n }\r\n }, [])\r\n useEffect(() => {\r\n if (theMap) {\r\n drawCluster()\r\n }\r\n }, [minZoom, maxZoom, radius])\r\n useEffect(() => {\r\n zoomOnClick != undefined && markerClusterRef.current?.setZoomOnClick(zoomOnClick)\r\n }, [zoomOnClick])\r\n\r\n return (\r\n <MarkerClusterContext.Provider value={clusterContext}>\r\n {props?.children}\r\n </MarkerClusterContext.Provider>\r\n )\r\n}\r\nexport default MFMarkerCluster\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface POIProps extends map4d.POIOptions {\r\n map?: map4d.Map,\r\n onCreated?: (poi: map4d.POI) => void\r\n}\r\n\r\nconst MFPOI = (props: POIProps) => {\r\n const {\r\n position,\r\n title,\r\n subtitle,\r\n color,\r\n type,\r\n icon,\r\n elevation,\r\n zIndex,\r\n visible,\r\n draggable,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const poiRef = useRef<map4d.POI>()\r\n\r\n useEffect(() => {\r\n if (theMap && !poiRef.current) {\r\n let option = {\r\n position: position || { lat: 10.793113, lng: 106.720739 },\r\n title: title,\r\n subtitle: subtitle,\r\n color: color,\r\n type: type,\r\n icon: icon,\r\n elevation: elevation,\r\n zIndex: zIndex,\r\n visible: visible,\r\n draggable: draggable,\r\n userInteractionEnabled: userInteractionEnabled\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n poiRef.current = new map4d.POI(option)\r\n poiRef.current?.setMap(theMap)\r\n onCreated && onCreated(poiRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n poiRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n poiRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n poiRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n poiRef.current?.setPosition(position)\r\n }, [position])\r\n useEffect(() => {\r\n title != undefined && poiRef.current?.setTitle(title)\r\n }, [title])\r\n useEffect(() => {\r\n subtitle != undefined && poiRef.current?.setSubtitle(subtitle)\r\n }, [subtitle])\r\n useEffect(() => {\r\n color != undefined && poiRef.current?.setColor(color)\r\n }, [color])\r\n useEffect(() => {\r\n type != undefined && poiRef.current?.setType(type)\r\n }, [type])\r\n useEffect(() => {\r\n icon != undefined && poiRef.current?.setIcon(icon)\r\n }, [icon])\r\n useEffect(() => {\r\n elevation != undefined && poiRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n zIndex != undefined && poiRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n visible != undefined && poiRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n draggable != undefined && poiRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && poiRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n return null\r\n}\r\nexport default MFPOI\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface POIOverlayProps extends map4d.POIOverlayOptions {\r\n map?: map4d.Map,\r\n onCreated?: (poiOverlay: map4d.POIOverlay) => void\r\n}\r\n\r\nconst MFPOIOverlay = (props: POIOverlayProps) => {\r\n const {\r\n getUrl,\r\n visible = true,\r\n parserData,\r\n prefixId,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const poiOverlayRef = useRef<map4d.POIOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n poiOverlayRef.current?.setMap(null)\r\n let option = {\r\n getUrl: getUrl || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n parserData: parserData,\r\n prefixId: prefixId\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n poiOverlayRef.current = new map4d.POIOverlay(option)\r\n poiOverlayRef.current?.setMap(theMap)\r\n onCreated && onCreated(poiOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !poiOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n poiOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n poiOverlayRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n poiOverlayRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [getUrl, parserData, prefixId])\r\n return null\r\n}\r\nexport default MFPOIOverlay\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface PolygonProps extends map4d.PolygonOptions {\r\n map?: map4d.Map,\r\n onCreated: (polygon: map4d.Polygon) => void\r\n}\r\n\r\nconst MFPolygon = (props: PolygonProps) => {\r\n const {\r\n paths,\r\n fillColor,\r\n fillOpacity,\r\n visible = true,\r\n strokeColor,\r\n strokeWidth,\r\n draggable,\r\n elevation,\r\n zIndex,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const polygonRef = useRef<map4d.Polygon>()\r\n\r\n useEffect(() => {\r\n if (theMap && !polygonRef.current) {\r\n let option = {\r\n paths: paths,\r\n fillColor: fillColor,\r\n fillOpacity: fillOpacity,\r\n visible: visible,\r\n strokeColor: strokeColor,\r\n strokeWidth: strokeWidth,\r\n draggable: draggable,\r\n elevation: elevation,\r\n zIndex: zIndex,\r\n userInteractionEnabled: userInteractionEnabled,\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n polygonRef.current = new map4d.Polygon(option)\r\n polygonRef.current?.setMap(theMap)\r\n onCreated && onCreated(polygonRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n polygonRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n polygonRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n polygonRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n polygonRef.current?.setPaths(paths)\r\n }, [paths])\r\n useEffect(() => {\r\n fillColor != undefined && polygonRef.current?.setFillColor(fillColor)\r\n }, [fillColor])\r\n useEffect(() => {\r\n fillOpacity != undefined && polygonRef.current?.setFillOpacity(fillOpacity)\r\n }, [fillOpacity])\r\n useEffect(() => {\r\n polygonRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n strokeColor != undefined && polygonRef.current?.setStrokeColor(strokeColor)\r\n }, [strokeColor])\r\n useEffect(() => {\r\n strokeWidth != undefined && polygonRef.current?.setStrokeWidth(strokeWidth)\r\n }, [strokeWidth])\r\n useEffect(() => {\r\n draggable != undefined && polygonRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n elevation != undefined && polygonRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n zIndex != undefined && polygonRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && polygonRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n\r\n return null\r\n}\r\nexport default MFPolygon\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface PolylineProps extends map4d.PolylineOptions {\r\n map?: map4d.Map,\r\n onCreated?: (polyline: map4d.Polyline) => void\r\n}\r\n\r\nconst MFPolyline = (props: PolylineProps) => {\r\n const {\r\n path,\r\n strokeWidth,\r\n strokeColor,\r\n strokeOpacity,\r\n visible = true,\r\n closed,\r\n draggable,\r\n zIndex,\r\n elevation,\r\n strokePattern,\r\n userInteractionEnabled,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const polylineRef = useRef<map4d.Polyline>()\r\n\r\n useEffect(() => {\r\n if (theMap && !polylineRef.current) {\r\n let option = {\r\n path: path || { lat: 10.793113, lng: 106.720739 },\r\n strokeWidth: strokeWidth,\r\n strokeColor: strokeColor,\r\n strokeOpacity: strokeOpacity,\r\n visible: visible,\r\n closed: closed,\r\n draggable: draggable,\r\n zIndex: zIndex,\r\n elevation: elevation,\r\n strokePattern: strokePattern,\r\n userInteractionEnabled: userInteractionEnabled,\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n polylineRef.current = new map4d.Polyline(option)\r\n polylineRef.current?.setMap(theMap)\r\n onCreated && onCreated(polylineRef.current)\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n polylineRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n polylineRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n polylineRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n polylineRef.current?.setPath(path)\r\n }, [path])\r\n useEffect(() => {\r\n strokeWidth != undefined && polylineRef.current?.setStrokeWidth(strokeWidth)\r\n }, [strokeWidth])\r\n useEffect(() => {\r\n strokeColor != undefined && polylineRef.current?.setStrokeColor(strokeColor)\r\n }, [strokeColor])\r\n useEffect(() => {\r\n strokeOpacity != undefined && polylineRef.current?.setStrokeOpacity(strokeOpacity)\r\n }, [strokeOpacity])\r\n useEffect(() => {\r\n visible != undefined && polylineRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n closed != undefined && polylineRef.current?.setClosed(closed)\r\n }, [closed])\r\n useEffect(() => {\r\n draggable != undefined && polylineRef.current?.setDraggable(draggable)\r\n }, [draggable])\r\n useEffect(() => {\r\n zIndex != undefined && polylineRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n elevation != undefined && polylineRef.current?.setElevation(elevation)\r\n }, [elevation])\r\n useEffect(() => {\r\n strokePattern != undefined && polylineRef.current?.setStrokePattern(strokePattern)\r\n }, [strokePattern])\r\n useEffect(() => {\r\n userInteractionEnabled != undefined && polylineRef.current?.setUserInteraction(userInteractionEnabled)\r\n }, [userInteractionEnabled])\r\n\r\n return null\r\n}\r\nexport default MFPolyline\r\n","import { useContext, useEffect, useRef } from 'react';\r\nimport { Map4dContext } from '../context';\r\n\r\ninterface TileOverlayProps extends map4d.TileOverlayOptions {\r\n map?: map4d.Map,\r\n onCreated?: (tileOverlay: map4d.TileOverlay) => void\r\n}\r\n\r\nconst MFTileOverlay = (props: TileOverlayProps) => {\r\n const {\r\n getUrl,\r\n visible = true,\r\n zIndex,\r\n opacity,\r\n map,\r\n onCreated\r\n } = props\r\n\r\n const map4dContext = useContext(Map4dContext);\r\n const theMap = map || map4dContext.map\r\n const tileOverlayRef = useRef<map4d.TileOverlay>()\r\n\r\n\r\n const reCreate = () => {\r\n tileOverlayRef.current?.setMap(null)\r\n let option = {\r\n getUrl: getUrl || { lat: 10.793113, lng: 106.720739 },\r\n visible: visible,\r\n zIndex: zIndex,\r\n opacity: opacity\r\n }\r\n Object.keys(option).forEach(key => {\r\n if (option[key] == undefined || option[key] == null) {\r\n delete option[key]\r\n }\r\n })\r\n tileOverlayRef.current = new map4d.TileOverlay(option)\r\n tileOverlayRef.current?.setMap(theMap)\r\n onCreated && onCreated(tileOverlayRef.current)\r\n }\r\n\r\n useEffect(() => {\r\n if (theMap && !tileOverlayRef.current) {\r\n reCreate()\r\n }\r\n }, [theMap])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n tileOverlayRef.current?.setMap(theMap)\r\n }\r\n return () => {\r\n tileOverlayRef.current?.setMap(null)\r\n }\r\n }, [theMap])\r\n useEffect(() => {\r\n return () => {\r\n tileOverlayRef.current?.setMap(null)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (theMap) {\r\n reCreate()\r\n }\r\n }, [getUrl])\r\n useEffect(() => {\r\n tileOverlayRef.current?.setVisible(visible)\r\n }, [visible])\r\n useEffect(() => {\r\n zIndex != undefined && tileOverlayRef.current?.setZIndex(zIndex)\r\n }, [zIndex])\r\n useEffect(() => {\r\n opacity != undefined && tileOverlayRef.current?.setOpacity(opacity)\r\n }, [opacity])\r\n return null\r\n}\r\nexport default MFTileOverlay\r\n"],"names":["defaultCt","map","Map4dContext","createContext","markerClusterDefaultContext","addMarker","removeMarker","MarkerClusterContext","MFBuilding","props","position","name","scale","bearing","elevation","height","model","texture","coordinates","visible","draggable","userInteractionEnabled","selected","growUp","onCreated","map4dContext","useContext","theMap","buildingRef","useRef","useEffect","current","option","lat","lng","Object","keys","forEach","key","undefined","map4d","Building","setMap","setPosition","setName","setScale","setBearing","setElevation","setHeight","setModel","setTexture","setCoordinates","setVisible","setDraggable","setUserInteraction","setSelected","setGrowUp","MFBuildingOverlay","getUrl","parserData","prefixId","buildingOverlayRef","reCreate","BuildingOverlay","VariableTool","variable","MFCircle","center","radius","fillColor","fillOpacity","strokeColor","strokeWidth","zIndex","circleRef","Circle","hasValue","setCenter","setRadius","setFillColor","setFillOpacity","setStrokeColor","setStrokeWidth","setZIndex","MFDataLayer","geoJsonString","dataLayerRef","feature","data","remove","addGeoJson","MFDirectionsRenderer","routes","activedIndex","activeStrokeWidth","activeStrokeColor","activeOutlineWidth","activeOutlineColor","activeStrokePattern","inactiveStrokeWidth","inactiveStrokeColor","inactiveOutlineWidth","inactiveOutlineColor","inactiveStrokePattern","originMarkerOptions","destinationMarkerOptions","waypointMarkerOptions","onMarkerDragEnd","directionRef","DirectionsRenderer","setRoutes","setActivedIndex","setActiveStrokePattern","setInactiveStrokePattern","setOptions","MFGroundOverlay","bounds","override","opacity","groundOverlayRef","TileOverlay","setOpacity","MFImageOverlay","url","imageOverlayRef","ImageOverlay","addLibrary","id","scriptId","exist","document","getElementById","script","createElement","src","defer","body","appendChild","createId","dt","Date","getTime","uuid","replace","c","r","Math","random","floor","toString","MFMap","state","mapKey","callback","setMapDomRef","bind","e","mapDomRef","componentWillUnmount","destroy","window","scriptElement","eventClickMarker","eventRightClickMarker","eventDragEndMarker","mapRef","registerEvent","addListener","args","marker","onClick","onRightClick","onDragEnd","createCallback","options","Map","onMapReady","setState","console","error","render","environment","version","accessKey","mapid","newContext","React","Provider","value","style","width","display","ref","children","Component","contextType","MFMarker","anchor","labelAnchor","icon","rotation","title","snippet","windowAnchor","label","iconView","markerClusterContext","markerRef","Marker","setAnchor","setLabelAnchor","setIcon","setRotation","setTitle","setSnippet","setWindowAnchor","setLabel","setIconView","MFMarkerCluster","minZoom","maxZoom","zoomOnClick","markerRefs","markerClusterRef","drawCluster","MarkerClusterer","clusterContext","push","newMarkers","filter","t","setZoomOnClick","MFPOI","subtitle","color","type","poiRef","POI","setSubtitle","setColor","setType","MFPOIOverlay","poiOverlayRef","POIOverlay","MFPolygon","paths","polygonRef","Polygon","setPaths","MFPolyline","path","strokeOpacity","closed","strokePattern","polylineRef","Polyline","setPath","setStrokeOpacity","setClosed","setStrokePattern","MFTileOverlay","tileOverlayRef"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-map4d-map",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "react-map4d-map",
5
5
  "author": "vantoan2509",
6
6
  "license": "MIT",