1.这个问题还是比较奇葩的,android可以正常显示高德地图在webview中但是定位不到,ios直接显示一片空白页面了。
2.尝试使用 react-native-baidu-map 这个百度地图组件。(失败)
第一个问题定位失败问题竟然出在配置问题:
接着:在android可以正常显示webview,然而在ios中报错了
Setting onMessage on a WebView overrides existing values of window.postMessage, but a previous value was defined
处理方法:这是因为官网之前已经写了一个onMessage方法了,重名了,在webview渲染之前把这段代码注入进去
const patchPostMessageJsCode = `(${String(function() {
var originalPostMessage = window.postMessage
var patchedPostMessage = function(message, targetOrigin, transfer) {
originalPostMessage(message, targetOrigin, transfer)
}
patchedPostMessage.toString = function() {
return String(Object.hasOwnProperty).replace('hasOwnProperty', 'postMessage')
}
window.postMessage = patchedPostMessage
})})();`
webview调用:
injectedJavaScript={patchPostMessageJsCode}
参考解决方案 地址
网友评论