我有一个webview加载一个本地html,里面有一些js脚本。除了位于android或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文件夹中?
答案 0 :(得分:0)
您是否尝试过icon: '../../../../../../../external/images/ + ...'
即使这样做,你真的应该使用反应原生地图而不是webview。在我看来,这是一个非常糟糕的做法。