我正在考虑为它创建语法高亮显示,但我不知道这种特定类型模板的常规缩写.
我是反应原生的新手,我想在我的应用程序中集成地图,我正在使用"react-native-maps"库, 我想使用https://github.com/airbnb/react-native-maps聚类,但我无法找到与此相关的适当文件.请帮助我找到如何将地图与群集集成的文档,并告诉哪个库最适合实现两个平台,iOS和Android的群集.
用例:使用 react-native MapView 组件在地图上显示注释。初始地图区域设置为所有注释都可见。注释正在移动,这会触发重新渲染。此外,用户应该能够在地图周围平移/缩放,因此onRegionChange()并onRegionChangeComplete()尝试捕获区域变化并将其设置为状态;通过这种方式,地图区域不会在发生重新渲染时重置为初始地图区域。
render: function() {
...
return (
<MapView
region={this.state.region}
annotations={annotations}
onRegionChange={this.onRegionChange}
onRegionChangeComplete={this.onRegionChangeComplete}
/>
);
},
onRegionChange: function(region) {
this.setState({ region });
},
onRegionChangeComplete: function(region) {
this.setState({ region });
},
Run Code Online (Sandbox Code Playgroud)
问题:由于更新状态的延迟,在状态中设置更新的区域不允许在地图上平滑平移/滚动体验。经过几次平移或缩放后,地图会冻结,大概是因为它使用的是保存在状态中的当前区域,而不是更新后的区域。等待 1-2 秒,地图可以再次平移/缩放,大概是因为该区域现在已经在状态中更新。
问题:有没有办法只设置 MapView 的初始区域,这样重新渲染不会导致该区域重置?这样,onRegionChange()并且onRegionChangeComplete()可以用作委托方法在新区域上执行工作(类似于 MKMapViewDelegate 的 mapView:regionWillChangeAnimated:),而不是为了地图渲染的目的而保存区域本身。
InsertDataToServer = () => {
const { pinValue1 } = this.state;
const { pinValue2 } = this.state;
const { pinValue3 } = this.state;
const { pinValue4 } = this.state;
var String_3 = pinValue1.concat(" " , pinValue2);
var String_4 = String_3.concat(" " , pinValue3);
var String_5 = String_4.concat(" " , pinValue4);
fetch("http://www.aonde.biz/mobile/doLogin.php", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify({
"pin":212,
})
})
.then(response => response.json())
.then(responseJson => {
// Showing response message coming from server after …Run Code Online (Sandbox Code Playgroud) 我在 React Native Maps 库中遇到了一个奇怪的问题。在我正确遵循所有文档的那一刻,每次移动地图时,它似乎都会结巴并移回原始位置。或者偶尔它会移动到我想要的位置(口吃)
应用程序.js
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import MapView from "react-native-maps";
import Geolocation from 'react-native-geolocation-service';
import {YellowBox} from 'react-native';
type Props = {};
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
region: {
latitude: 53.41058,
longitude: -2.97794,
latitudeDelta: 0.1,
longitudeDelta: 0,
}
}
}
componentDidMount() {
Geolocation.getCurrentPosition(
(position) => {
console.warn(position.coords.latitude);
console.warn(position.coords.longitude);
this.setState({
region: {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: 0.02,
longitudeDelta: 0,
} …Run Code Online (Sandbox Code Playgroud) 以最简单的方式,我将如何对地图区域进行动画处理,以便我刚刚单击的标记位于屏幕的中心,并且在其他情况下位于屏幕上半部分的中心(在第一季度和第二季度)?