首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >空白MapView反应本机HMS

空白MapView反应本机HMS
EN

Stack Overflow用户
提问于 2020-07-06 15:19:36
回答 2查看 449关注 0票数 1

我正在尝试华北的地图服务:

代码语言:javascript
复制
react-native-hms-map

但是当我从堆栈导航器调用组件时,它没有显示地图,如果我只在App.js中放置Mapview的de组件,它会显示映射,我尝试使用不同的样式,但我不知道该做什么。

这是我使用的代码:

Map.js

代码语言:javascript
复制
import React, {Component} from 'react';
import {View, StyleSheet, Picker} from 'react-native';
import MapView from 'react-native-hms-map';

import BtnFlotante from '../components/Boton-Fl';
import MarkersExample from '../../Maps/MarkersExample';
import PolygonsExample from '../../Maps/PolygonsExample';
import PolylinesExample from '../../Maps/PolylinesExample';
import CirclesExample from '../../Maps/CirclesExample';
import OverlaysExample from '../../Maps/OverlaysExample';


import {region} from '../../Maps/exampleConstants';

export default class Map extends Component {
  constructor(props) {
    super(props);

    this.state = {
      selectedPage: 'marker',
    };
  }

  render() {
    return (
      <View style={styles.continer} >
      <View style={styles.container}>
        <View style={styles.map}>
          <MapView style={styles.map} initialRegion={region}>
            <MarkersExample isRender={this.state.selectedPage} />
          </MapView>
        </View>
      </View>
      </View>
    );
  }
}

export const styles = StyleSheet.create({
  container: {
    position: 'absolute',
    top: 0,
    left: 0,
    right: 0,
    bottom: 0,
    justifyContent: 'flex-end',
    alignItems: 'center',
  },
  holder: {
    alignItems: 'center',
    justifyContent: 'center',
    position: 'absolute',
    width: 300,
    height: 40,
    backgroundColor: 'white',
    zIndex: 2,
    shadowColor: '#000',
    shadowOffset: {width: 2, height: 0},
    shadowOpacity: 1,
    shadowRadius: 15,
    elevation: 7,
  },
  map: {
    position: 'absolute',
    top: 0,
    left: 0,
    right: 0,
    bottom: 0,
    padding: 2,
  },
  picker: {
    position: 'absolute',
    top: 0,
    left: 0,
    height: 50,
    width: 300,
    color: '#000000',
  },
  continer:{
      top: 15,
      height: 500,
      borderColor: 'black',
      borderWidth: 2,
  }
});

App.js

代码语言:javascript
复制
import React from 'react';

import Icon from 'react-native-vector-icons/Ionicons'; 

import { createBottomTabNavigator, createAppContainer} from 'react-navigation';  
import { createMaterialBottomTabNavigator } from 'react-navigation-material-bottom-tabs';
import { createStackNavigator } from 'react-navigation-stack';
import { createSwitchNavigator } from 'react-navigation';

import Login from './src/screens/containers/Login';
import Loading from './src/screens/containers/loading';
import Home from './src/screens/containers/Home';
import Config from './src/screens/containers/Config';
import Tecnico from './src/screens/containers/TecnicosScreen';
import ClientesScreen from './src/screens/containers/ClientesScreen';
import TareasScreen from './src/screens/containers/TareasScreen';
import TecnicosForm from './src/tecnicos/containers/tecnicosform';
import ClientesForm from './src/clientes/containers/clientesform';
import TareasForm from './src/tareas/containers/tareasform';
import TecnicoPerfil from './src/tecnicos/containers/tecnicoperfil';
import ClientePerfil from './src/clientes/containers/clienteperfil';
import TareaPerfil from './src/tareas/containers/tareaperfil';
import Header  from './src/screens/components/header';
import Map from './src/screens/containers/Map';

const InterStack = createStackNavigator({
  Home: { screen: Home,
    navigationOptions:{
      header: Header,
    }
  },/*
  Map: { screen: Map,
    navigationOptions:{
      header: null,
      tabBarVisible: false,
    }
  },*/
  creaClien:{ screen: ClientesForm,
    navigationOptions:{
      header: Header,
    }
  },
  creaTecni:{ screen: TecnicosForm,
    navigationOptions:{
      header: Header,
    }
  },
  creaTarea:{ screen: TareasForm,
    navigationOptions:{
      header: Header,
    }
  },
  perfilTecni:{ screen: TecnicoPerfil,
    navigationOptions:{
      header: Header,
    }
  },
  perfilClien:{ screen: ClientePerfil,
    navigationOptions:{
      header: Header,
    }
  },
  perfilTarea:{ screen: TareaPerfil,
    navigationOptions:{
      header: Header,
    }
  },
  Login: { screen: Login,
    navigationOptions:{
      header: null,
    }
  },
  Loading: { screen: Loading,
    navigationOptions:{
      header: null,
    }
  }
});

const AnotherStack = createStackNavigator({
  Tarea :{ screen: TareasScreen,
    navigationOptions:{
      header: null,
    }
  },
  Map: { screen: Map,
    navigationOptions:{
      header: null,
      tabBarVisible: false,
    }
  },
});


const TabNavigator = createMaterialBottomTabNavigator({
  Home: { screen: InterStack,
    navigationOptions: {
      tabBarIcon: ({ tintColor}) =>(<Icon name='md-home' color= {tintColor} size={30}/>),
    }
},
  Clientes: { screen: ClientesScreen,
    navigationOptions: {
      tabBarIcon: ({ tintColor}) =>(<Icon name='md-contact' color= {tintColor} size={30}/>)
    }
},
  Tecnicos: { screen: Tecnico,
    navigationOptions: {
      tabBarIcon: ({ tintColor}) =>(<Icon name='md-contacts' color= {tintColor} size={30}/>)
    }
},
  Tareas: { screen: AnotherStack,
    navigationOptions: {
      tabBarVisible: false,
      tabBarIcon: ({ tintColor}) =>(<Icon name='md-list-box' color= {tintColor} size={30}/>)
    }
},
  Config: { screen: Config,
    navigationOptions: {
      tabBarLabel:'Config', 
      tabBarIcon: ({ tintColor}) =>(<Icon name='md-settings' color= {tintColor} size={30}/>),
      navigationBarHidden: true,
    }
},

},{
  initialRouteName: 'Home',
  order: ['Clientes','Tecnicos', 'Home','Tareas','Config'],
  activeColor: 'white',
  barStyle: {backgroundColor: '#3AE0BF'}
}
);

export default createAppContainer(TabNavigator);

我搜索有关它的信息,但是只有很少的文档,我使用的版本如下:

  1. 版本
    • 反应-原生0.62.2
    • 反应-本机-hms-地图4.0.2
EN

Stack Overflow用户

发布于 2020-07-08 08:28:06

我已经更改了旧的AirMapView.java文件-本地地图套件,这个问题似乎已经解决了。

请检查以下代码示例:

代码语言:javascript
复制
private final Runnable measureAndLayout = new Runnable() {
    @Override
    public void run() {
        measure(
                MeasureSpec.makeMeasureSpec(getWidth(), MeasureSpec.EXACTLY),
                MeasureSpec.makeMeasureSpec(getHeight(), MeasureSpec.EXACTLY));
        layout(getLeft(), getTop(), getRight(), getBottom());
    }
};

@Override
public void requestLayout() {
    super.requestLayout();
    post(measureAndLayout);
}

全新版本的React本地地图插件将在7月内发布,这个问题在新插件.中不会出现。

更新:

插件4.0.2将在2020年7月30日后脱机。请及时升级插件

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62759188

复制
相关文章

相似问题

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