RN Webview无法从项目级文件夹加载图像

时间:2018-05-19 23:55:37

标签: react-native webview imagesource

我有一个webview加载一个本地html,里面有一些js脚本。除了位于a​​ndroid或ios文件夹之外的图像外,其中的所有内容都运行良好。

当html文件不在android和ios文件夹中时,它解析了图像,但它不是.html所必需的。

web视图:

<WebView
    source={{uri: isAndroid?
    'file:///android_asset/webviews/map.html'
    :'./external/widget/map.html'}}
    ref={( webView ) => this.webView = webView}
    onMessage={() => this.onWebViewMessage()}
    onNavigationStateChange={() => this.trackMap(this.state.dados)} /> 

html文件内的脚本标记(android case)

var marker = new google.maps.Marker({
            position: posicao,
            icon: '../../../../../external/images/' + icon.toString() + '_' + direction + '.png'),
            map: mapa
          });

也尝试过:

&#39; MyApp的/外部/图像/...&# 39;

&#39;文件:///external/images/...'

项目结构:

myapp
|
|
|_android
|  |_ app
|     |_ src
|        |_ main
|           |_ assets
|              |_ webviews
|                 |_ map.html
|  
|_ external
|  |_ images
|     |_ 1_north.png
|     |_ 2_east.png 
|     |_ <icon>_<direction>.png
|      ...

如何获取这些图像路径?我是否真的必须将图像放在res android文件夹和相关的ios文件夹中?

1 个答案:

答案 0 :(得分:0)

您是否尝试过icon: '../../../../../../../external/images/ + ...'

即使这样做,你真的应该使用反应原生地图而不是webview。在我看来,这是一个非常糟糕的做法。

相关问题