React Leaflet - 如何使用圆形标记渲染自定义图像
React Leaflet - How to render custom image using Circle Markers
我正在尝试为我的 CircleMarkers 生成自定义图像。我不知道该怎么做。我在这里使用 CircleMarkers,因为我有将近 20K+ 标记并且需要它们来提高性能。我不太清楚如何将自定义图像传递给 CircleMarker。非常感谢对此的任何帮助。
无法直接执行此操作。 leaflet.js 或 react-leaflet 库的 API 未响应您的请求。如果您不想看到圆圈,可以通过在 CircleMarker 中放置一个额外的标记子组件并移除其不透明度来实现。
您可以使用外部 url 或本地文件(如 png、svg 等)设置您的标记图标。然后您就可以做您想做的事了。如果您需要示例,请查看:
import L from 'leaflet';
const duckIcon = new L.Icon({
iconUrl: 'https://i.ya-webdesign.com/images/sample-png-image-download-3.png',
iconRetinaUrl: 'https://i.ya-webdesign.com/images/sample-png-image-download-3.png',
iconAnchor: new L.Point(0, 0),
popupAnchor: new L.Point(16, 0),
shadowUrl: null,
shadowSize: null,
shadowAnchor: null,
iconSize: new L.Point(32, 32),
className: 'leaflet-div-icon'
});
您也可以在不同的文件中定义它。但请不要忘记导出它!
如果您有类似“这些选项是什么?”的问题您也可以尝试从
here。最后你有一个自定义标记图标。只需将道具传递给您的标记组件,如下所示。
<CircleMarker
center={{ lat: markerPosition[0], lng: markerPosition[1] }}
opacity={0}>
<Marker position={markerPosition} icon={duckIcon}>
<Popup/>
</Marker>
</CircleMarker>
希望对您有所帮助。如果您遇到问题,请告诉我,我们会尽力解决。
我正在尝试为我的 CircleMarkers 生成自定义图像。我不知道该怎么做。我在这里使用 CircleMarkers,因为我有将近 20K+ 标记并且需要它们来提高性能。我不太清楚如何将自定义图像传递给 CircleMarker。非常感谢对此的任何帮助。
无法直接执行此操作。 leaflet.js 或 react-leaflet 库的 API 未响应您的请求。如果您不想看到圆圈,可以通过在 CircleMarker 中放置一个额外的标记子组件并移除其不透明度来实现。 您可以使用外部 url 或本地文件(如 png、svg 等)设置您的标记图标。然后您就可以做您想做的事了。如果您需要示例,请查看:
import L from 'leaflet';
const duckIcon = new L.Icon({
iconUrl: 'https://i.ya-webdesign.com/images/sample-png-image-download-3.png',
iconRetinaUrl: 'https://i.ya-webdesign.com/images/sample-png-image-download-3.png',
iconAnchor: new L.Point(0, 0),
popupAnchor: new L.Point(16, 0),
shadowUrl: null,
shadowSize: null,
shadowAnchor: null,
iconSize: new L.Point(32, 32),
className: 'leaflet-div-icon'
});
您也可以在不同的文件中定义它。但请不要忘记导出它! 如果您有类似“这些选项是什么?”的问题您也可以尝试从 here。最后你有一个自定义标记图标。只需将道具传递给您的标记组件,如下所示。
<CircleMarker
center={{ lat: markerPosition[0], lng: markerPosition[1] }}
opacity={0}>
<Marker position={markerPosition} icon={duckIcon}>
<Popup/>
</Marker>
</CircleMarker>
希望对您有所帮助。如果您遇到问题,请告诉我,我们会尽力解决。