diff --git a/src/App.js b/src/App.js
index a5471be..82ac777 100644
--- a/src/App.js
+++ b/src/App.js
@@ -15,7 +15,6 @@ import AuthNavigator from "./app/navigation/AuthNavigator";
import { AuthContext } from "./app/auth/context";
import authStorage from "./app/auth/storage";
import MapDataProvider from "./app/context/MapDataContext";
-import MapRefProvider from "./app/context/MapRefContext";
export default function App() {
const [user, setUser] = useState();
@@ -43,14 +42,12 @@ export default function App() {
>
-
{user ? : }
-
diff --git a/src/app/components/map/LeafLetMap.js b/src/app/components/map/LeafLetMap.js
index 4fcab72..02857de 100644
--- a/src/app/components/map/LeafLetMap.js
+++ b/src/app/components/map/LeafLetMap.js
@@ -24,7 +24,7 @@ const loadHTMLFile = async () => {
function goToRegion(mapRef, { lat, long, zoom }) {
mapRef.injectJavaScript(`
- map.setView([${lat}, ${long}], ${zoom}); moveend=false`);
+ map.setView([${lat}, ${long}], ${zoom});`);
}
const code_to_function = {
diff --git a/src/app/components/map/OpenStreetMap.js b/src/app/components/map/OpenStreetMap.js
index 13d59ee..1fb31b7 100644
--- a/src/app/components/map/OpenStreetMap.js
+++ b/src/app/components/map/OpenStreetMap.js
@@ -1,7 +1,6 @@
-import React, { useState, useEffect, useContext } from "react";
+import React, { useState } from "react";
import { View, StyleSheet, Text } from "react-native";
import WebView from "react-native-webview";
-import { MapRefContext } from "../../context/MapRefContext";
import {
loadHTMLFile,
handleEvent,
@@ -44,8 +43,7 @@ export default function OpenStreetMap({
const [mapRef, setMapRef] = useState(null);
const [webviewContent, setWebviewContent] = useState(null);
const [markerListener, setMarkerListener] = useState(null);
- const refContext = useContext(MapRefContext);
-
+
if (mapRef != null) {
animateToPosition != null && goToRegion(mapRef, animateToPosition);
}
@@ -64,7 +62,7 @@ export default function OpenStreetMap({
{
- refContext.setMapRef(webViewRef);
+ setMapRef(webViewRef);
}}
onMessage={(event) => {
bindEventsToListeners(
diff --git a/src/app/context/MapRefContext.js b/src/app/context/MapRefContext.js
deleted file mode 100644
index 34fa73f..0000000
--- a/src/app/context/MapRefContext.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import React, { useState, createContext, useContext, useEffect } from "react"
-
-export const MapRefContext = createContext();
-
-const MapRefProvider = ({ children }) => {
-
- //problema: as vzs renderiza antes de carregar a localização correta do usuário
- const [mapRef, setMapRef] = useState();
-
- return (
-
- {children}
-
- )
-}
-export default MapRefProvider;
\ No newline at end of file
diff --git a/src/app/screens/MapFormScreen.js b/src/app/screens/MapFormScreen.js
index 5c49753..50cf486 100644
--- a/src/app/screens/MapFormScreen.js
+++ b/src/app/screens/MapFormScreen.js
@@ -2,17 +2,13 @@ import React, { useContext, useState, useEffect, memo } from "react";
import { StyleSheet, View, Text, Image } from "react-native";
import colors from "../config/colors";
-import { screen_width, screen_height } from "../config/dimensions";
import * as Location from "expo-location";
import { EventLocationContext } from "../context/EventLocationContext";
import { TouchableOpacity } from "react-native-gesture-handler";
-import { CurrentLocationContext } from "../context/CurrentLocationContext";
import OpenStreetMap from "../components/map/OpenStreetMap";
-import { MapRefContext } from "../context/MapRefContext";
// NOTE: Implementação posterior: É interessante adcionar um searchBox para que o usuário busque um endereço (google places autocomplete é uma api paga)
-
const MapFormScreen = (props) => {
const context = useContext(EventLocationContext); //local do evento
const [position, setPosition] = useState(null);
@@ -27,12 +23,14 @@ const MapFormScreen = (props) => {
}, [location]);
const [moveEndListener, setMoveEndListener] = useState(null);
- //console.log("=====POSIÇÃO: " +position.lat);
+ console.log("=====POSIÇÃO: " + typeof location);
const getAddress = async (coordenadas) => {
Location.setGoogleApiKey("AIzaSyD_wuuokS3SVczc8qSASrsBq0E5qIpdyMc");
const address = await Location.reverseGeocodeAsync(coordenadas);
+ console.log(address);
+ console.log(coordenadas);
if (address[0] != undefined) {
var street = (address[0].street == null ? "" : address[0].street);
var number = (address[0].name == null ? "" : ", " + address[0].name);
@@ -43,42 +41,23 @@ const MapFormScreen = (props) => {
context.saveNewLocation("Erro ao carregar endereço", coordenadas);
}
};
- const refContext = useContext(MapRefContext);
-
const setLocation = () => {
getAddress(moveEndListener);
props.navigation.goBack(null);
};
-
//leva o mapa pra localização escolhida pelo usuário
- const aplyLocation = (p) => {
- //setPosition(position);
- setMoveEndListener(p);
- if (refContext.mapRef) {
- refContext.mapRef.injectJavaScript(`
- if(moveend == true){
- map.setView([${p.latitude}, ${p.longitude}], ${16.5}); moveend=false
- }`);
- }
+ const moveLocation = (l) => {
+ setMoveEndListener(l);
+ setPosition(l);
};
- //inicia o mapa na região do usuário ou no ultimo valor do marker
- if (refContext.mapRef && moveEndListener==null ) {
- console.log("IIIIIIIIIIIIIIIIIIIIF "+ location.latitude)
- refContext.mapRef.injectJavaScript(`
- map.setView([${position.lat}, ${position.long}], ${16.5}); moveend=false
- `);
- }
-
-
return (
moveLocation(e)}
animateToPosition={position}
- moveEndListener={e => aplyLocation(e)}
-
/>