0

関数 whereAmI で navigator.geolocation.getCurrentPosition() を使用して値を pos オブジェクトに割り当てると、lat と lng がオブジェクト内にあることがわかりますが、これらのプロパティを使用しようとすると、未定義が返されます。助けてくれてありがとう!

import React, {useEffect, useState }  from 'react';

import { GoogleMap } from "react-google-maps"


import './Map.css';

function Map({mapsData}) {

  const myLocation = whereAmI();

  console.log(myLocation); // this returns object with values

  return (
      <GoogleMap 
      defaultZoom={12} 
      defaultCenter={{myLocation}}
      >
      { /* We will render our data here */ }
      </GoogleMap>
  )
}

export default Map;


// helper function to get my current location 
function whereAmI() {
  let pos = {};
  navigator.geolocation.getCurrentPosition((position)=> {
    pos.lat = position.coords.latitude;
    pos.lng = position.coords.longitude;
  })
  console.log(pos); // this returns an object as well with properties but pos.lat or pos.lng returns undefined
  return pos;
}
4

1 に答える 1