react native中如何使用webView调用腾讯地图选点组件

react native中如何使用webView调用腾讯地图选点组件

效果示例图

代码示例

复制代码
import React, {useEffect, useRef, useState} from 'react';
import {Modal, StyleSheet} from 'react-native';
import {pxToPd} from '../../common/js/device';
import {WebView} from 'react-native-webview';

const TestWebView = () => {
  const webViewRef = useRef(null);
  const [address, setAddress] = useState(null);

  useEffect(() => {
    return () => {};
  }, []);
  return (
    <>
      <WebView
        ref={webViewRef}
        javaScriptEnabled={true}
        source={{
          uri: 'https://apis.map.qq.com/tools/locpicker?search=1&type=1&key=KUXBZ-F7P6D-IVF4W-H2L5A-LSX35-4NBX2&referer=myapp',
        }}
        onMessage={event => {
          let addressMsg = JSON.parse(event.nativeEvent.data);
          console.log('[miao]', addressMsg);
          console.log('[miao]', addressMsg?.poiaddress);
          setAddress(() => addressMsg?.poiaddress);
        }}
        onLoadEnd={() => {
          webViewRef.current.injectJavaScript(
            "window.addEventListener('message', function(event) {window.ReactNativeWebView.postMessage(JSON.stringify(event.data));}, false);",
          );
        }}
      />
    </>
  );
};
const styles = StyleSheet.create({});

export default TestWebView;

备注

复制代码
请使用自己的key值,到腾讯地图官网去申请

想要下载react-native-webview
npm install react-native-webview

腾讯地图选点组件官网

react-native-webview

相关推荐
Cxiaomu32 分钟前
React + Node.js 实战:用豆包端到端实时语音大模型 API 落地web纯语音助手
前端·react.js·node.js
Beginner x_u34 分钟前
前端八股整理|JavaScript|高频小题 01
开发语言·前端·javascript
Mr Xu_42 分钟前
Vue3 + Leaflet实战:深入解析MarkerCluster点位聚合插件的使用与优化
前端·javascript·vue.js
D_C_tyu1 小时前
Vue + Leaflet 实现地图任意点位点击查看时间功能
前端·javascript·vue.js
白叔King1 小时前
aardio时间日期转换中文时间
前端·javascript·aardio
Jinuss1 小时前
源码分析之React中的组件缓存React.memo
前端·react.js
斯班奇的好朋友阿法法1 小时前
ollama离线导入大模型
服务器·前端·javascript
kyriewen1 小时前
MutationObserver:DOM界的“卧底”,暗中观察每个风吹草动
前端·javascript·面试
TON_G-T2 小时前
100行实现Mini React
前端·javascript·react.js
多行不易2 小时前
JavaScript与Sonic前端交互:构建可视化数字人生成界面
javascript·数字人·viewui·sonic