まず、Reactプロジェクトをセットアップして、必要なパッケージをインストールします。次に、GoogleマップのJavaScript APIキーを取得し、Reactアプリケーションで使用できるようにします。
以下のコードスニペットは、Reactコンポーネント内でGoogleマップを表示し、マップの中心座標を取得する方法を示しています。
import React, { useEffect, useRef, useState } from 'react';
import { GoogleMap, LoadScript } from '@react-google-maps/api';
const MapComponent = () => {
const mapRef = useRef(null);
const [mapCenter, setMapCenter] = useState(null);
useEffect(() => {
if (mapRef.current && mapRef.current.getMap) {
const map = mapRef.current.getMap();
if (map) {
const center = map.getCenter();
setMapCenter({ lat: center.lat(), lng: center.lng() });
}
}
}, []);
return (
<LoadScript googleMapsApiKey="YOUR_API_KEY">
<GoogleMap
mapContainerStyle={{ height: '400px', width: '100%' }}
center={{ lat: 35.6895, lng: 139.6917 }}
zoom={12}
onLoad={map => {
mapRef.current = map;
}}
/>
</LoadScript>
);
};
export default MapComponent;
上記のコードでは、@react-google-maps/api
パッケージを使用してGoogleマップを表示しています。LoadScript
コンポーネント内でGoogleMap
コンポーネントを配置し、center
プロパティで初期の中心座標を指定します。
useRef
フックを使用して、マップの参照を取得し、useEffect
フックを使用してマップの読み込みが完了した後に中心座標を取得します。map.getCenter()
メソッドを使用してマップの中心座標を取得し、setMapCenter
関数を介して状態に保存します。
この例では、東京の座標(35.6895, 139.6917)を中心にマップが表示されますが、必要に応じて他の座標に変更できます。
以上がReactでGoogleマップの中心座標を取得するシンプルな方法です。このコードをベースにして、自分のプロジェクトに適した方法にカスタマイズしてみてください。