_mapbox-inner.web.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { Text } from 'app/design/typography'
  2. import { View } from 'app/design/view'
  3. import Link from 'app/ui/atoms/link'
  4. //import Map, { Source, Layer, Popup } from 'react-map-gl/mapbox';
  5. //import 'mapbox-gl/dist/mapbox-gl.css';
  6. import { appSetting } from 'app/lib/util'
  7. import { BlockWrapper } from 'app/components/block-wrapper'
  8. export default function ElementMapBox({ selectedlayers, dataSources, viewport, mapRef, popupInfo, onMapClick, infoFields, blockWrapperProps }) {
  9. return <></>
  10. /* return (
  11. <BlockWrapper {...blockWrapperProps}>
  12. <Map
  13. ref={mapRef}
  14. mapboxAccessToken={appSetting('config', 'api_keys', 'mapbox')}
  15. initialViewState={viewport}
  16. style={{ flex: 1 }}
  17. mapStyle="mapbox://styles/mapbox/light-v11"
  18. onClick={onMapClick}
  19. >
  20. {selectedlayers.map((layer, index) => {
  21. const lr = dataSources.find(l => l.key === layer);
  22. return (
  23. <Source
  24. key={lr.key}
  25. id={lr.key}
  26. type="geojson"
  27. data={lr.source}
  28. {...lr.props}
  29. >
  30. {lr.layers.map((layer1, index1) => {
  31. return <Layer key={lr.key + layer1.id} {...layer1} />
  32. })}
  33. </Source>
  34. )
  35. })}
  36. {popupInfo && (
  37. <Popup
  38. longitude={popupInfo.coordinates[0]}
  39. latitude={popupInfo.coordinates[1]}
  40. closeButton={true}
  41. closeOnClick={false}
  42. onClose={() => setPopupInfo(null)}
  43. anchor="top"
  44. >
  45. <View>
  46. {popupInfo.object.link ? <Link href={popupInfo.object.link}><Text className=" text-base font-medium mb-2">{popupInfo.object.name}{popupInfo.object.facility_name}{popupInfo.object.order_name}</Text></Link> : <Text className=" text-base font-medium mb-2">{popupInfo.object.name}{popupInfo.object.facility_name}{popupInfo.object.order_name}</Text>}
  47. {Object.entries(popupInfo.object)
  48. .filter(([key]) => Object.keys(infoFields).includes(key)) // Drop keys not in infoFields
  49. .map(([key, value]) => (
  50. <Text key={key} className="mb-2">
  51. {infoFields[key]}{value}
  52. </Text>
  53. ))}
  54. <Text className=" text-xs">{popupInfo.object.description}{popupInfo.object.facility_description}</Text>
  55. </View>
  56. </Popup>
  57. )}
  58. </Map>
  59. </BlockWrapper>
  60. )*/
  61. }