«Ошибка при использовании newLatLngBounds (LatLngBounds, int): размер карты не может быть нулевым…» с использованием ReaAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 «Ошибка при использовании newLatLngBounds (LatLngBounds, int): размер карты не может быть нулевым…» с использованием Rea

Сообщение Anonymous »

Я получаю сообщение об ошибке:
«Ошибка при использовании newLatLngBounds(LatLngBounds, int): Размер карты не может быть нулевым. Скорее всего, макет для представления карты еще не выполнен. Либо подождите, пока макет не будет выполнен, либо используйте newLatLngBounds(LatLngBounds, int, int, int) который позволяет указать размеры карты".

Но я настроил предупреждение для getCurrentPosition, и я получаю координаты от getCurrentPosition().

Код: Выделить всё

import React, { Component } from 'react';
import { View, Dimensions } from 'react-native';
import MapView from 'react-native-maps';

const {width, height} = Dimensions.get('window')

const SCREEN_HEIGHT = height
const SCREEN_WIDTH = width
const ASPECT_RATIO = width / height
const LATITUDE_DELTA = 0.0922
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO

class Map extends Component {

constructor(props) {
super(props)

this.state = {
isMapReady: false,
initialPosition: {
longitude: 0,
latitude: 0,
longitudeDelta: 0,
latitudeDelta: 0
},

markerPosition: {
longitude: 0,
latitude: 0
}

}
}

watchID: ?number = null

componentDidMount() {
navigator.geolocation.getCurrentPosition((position) => {

alert(JSON.stringify(position))

var lat = parseFloat(position.coords.latitude)
var long = parseFloat(position.coords.longitude)

var initialRegion = {
latitude: lat,
longitude: long,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
}

this.setState({initialPosition: initialRegion})
this.setState({markerPosition: initialRegion})
},

(error) => alert(JSON.stringify(error)))

this.watchID = navigator.geolocation.watchPosition((position) => {
var lat = parseFloat(position.coords.latitude)
var long = parseFloat(position.coords.longitude)

var lastRegion = {
latitude: lat,
longitude: long,
longitudeDelta: LONGITUDE_DELTA,
latitudeDelta: LATITUDE_DELTA
}

this.setState({initialPosition: lastRegion})
this.setState({markerPosition: lastRegion})
})

}

componentWillUnmount() {
navigator.geolocation.clearWatch(this.watchID)
}

onMapLayout = () => {
this.setState({ isMapReady: true });
}

render() {

return (



{ this.state.isMapReady &&


}



)

}

}

const styles = {
containerStyle: {
flex:1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'lightblue'
},

mapStyle: {
left: 0,
right: 0,
top: 0,
bottom: 0,
position: 'absolute'
}

}

export default Map;


Честно говоря, я понятия не имею, что происходит не так. .. был бы очень признателен за помощь! Спасибо!!

Подробнее здесь: https://stackoverflow.com/questions/477 ... e-zero-usi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»