首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应对本机MabBox MarkerView问题

应对本机MabBox MarkerView问题
EN

Stack Overflow用户
提问于 2020-11-26 04:39:48
回答 2查看 1.5K关注 0票数 2

我正在做一个项目,我需要一次在地图上显示至少10到20个标记。项目被逐出博览会和谷歌地图支付,我正在使用MapBox。

要将地图添加到react本机中,我使用的是@react-native-mapbox-gl/maps":"^8.1.0-rc.9,但是文档不是很好,所以我尝试从一个媒体博客添加标记。但它有一些故障,如标记显示,但如果我放大比标记移动。假设现在的标记是在孟买(印度),但如果我放大,它将在非洲。

这是我尝试过的

代码语言:javascript
运行
复制
                <MapboxGL.MapView
                    style={styles.map}
                    logoEnabled={false}
                    localizeLabels={true}
                >
                    <MapboxGL.Camera
                        zoomLevel={18}
                        animationMode={'flyTo'}
                        animationDuration={1100}
                        centerCoordinate={[73.20812, 22.29941]}
                    />
                    <View>
                        <MapboxGL.MarkerView id={'hello'} coordinate={[73.20812, 22.29941]}>
                            <View>
                                <Entypo
                                    name='location-pin'
                                    size={24}
                                    color='black'
                                />
                            </View>
                        </MapboxGL.MarkerView>
                        <MapboxGL.MarkerView
                            id={'hello'}
                            coordinate={[73.20813, 22.29941]}
                        >
                            <View>
                                <Entypo name='location-pin' size={24} color='black' />
                            </View>
                        </MapboxGL.MarkerView>
                        <MapboxGL.MarkerView id={'hello'} coordinate={[73.20814, 22.29941]}>
                            <View>
                                <Entypo name='location-pin' size={24} color='black' />
                            </View>
                        </MapboxGL.MarkerView>
                        <MapboxGL.MarkerView id={'hello'} coordinate={[73.20815, 22.29941]}>
                            <View>
                                <Entypo name='location-pin' size={24} color='black' />
                            </View>
                        </MapboxGL.MarkerView>
                        <MapboxGL.MarkerView id={'hello'} coordinate={[73.20816, 22.29941]}>
                            <View>
                                <Entypo name='location-pin' size={24} color='black' />
                            </View>
                        </MapboxGL.MarkerView>
                    </View>
                </MapboxGL.MapView>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-26 07:03:52

我刚刚做了一个改变,现在一切都很好。

我已经将MapboxGL.PointAnnotation改为MapboxGL.MarkerView,现在缩放标记仍然是固定的。

票数 2
EN

Stack Overflow用户

发布于 2022-09-20 08:14:44

如果您想使用MarkerView,可以通过延迟使用setTimeOut显示MarkerViews来解决这个问题,500毫秒对我来说是可行的。

代码语言:javascript
运行
复制
useEffect(() => {
  if (displayMap) {
    setTimeout(() => {
      setDisplayMarkers(true);
    }, 500);
  } else {
    setDisplayMarkers(false);
  }}, [displayMap]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65016202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档