我正在使用 React Google Maps API 包來創建一個帶有圓形組件的地圖組件。這是來自 npm 注冊表https://www.npmjs.com/package/@react-google-maps/api的包。
我在Circle組件內使用Google Map組件。我將 設定Circle為可拖動和可調整大小。
我需要center為每個拖動操作獲取新值,并radius為每個調整大小操作獲取新值。在此https://react-google-maps-api-docs.netlify.app/#circle檔案中,onCenterChanged和 的onRadiusChanged型別為void.
所以我的問題是如何使用此庫center為每個拖動操作獲取新值并radius為每個調整大小操作獲取新值?
或者有沒有使用原始谷歌地圖庫的解決方案?
這是代碼:https : //codesandbox.io/s/circle-react-google-maps-api-lo9f6
uj5u.com熱心網友回復:
再次閱讀檔案并進行了大量嘗試后,我找到了從圓的新位置/大小獲取位置和半徑的新值的解決方案。
我添加了onLoad道具并使用它設定了圓圈。然后我列印circle狀態值以檢查是否有 lat、lng 和半徑值。
我找到了這些值,這是代碼。
const [ circle, setCircle ] = useState(null)
<Circle
center={mapCenter}
radius={radius}
options={circleOptions}
onl oad={(circle) => setCircle(circle)}
onUnmount={(circle) => setCircle(null)}
onCenterChanged={() => circle && setCircleCenter({ lat: circle['center'].lat(), lng: circle['center'].lng() })}
onRadiusChanged={() => circle && setRadius(parseInt(circle['radius']))}
/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/334673.html
標籤:javascript 反应 谷歌地图
上一篇:Terraform匯入地圖資源
