Javascript 无法在本地html文件中加载webview内部的google地图
我正在使用一个名为basicmap.html的本地html文件,其中包含Javascript 无法在本地html文件中加载webview内部的google地图,javascript,html,ios,objective-c,google-maps-api-3,Javascript,Html,Ios,Objective C,Google Maps Api 3,我正在使用一个名为basicmap.html的本地html文件,其中包含 <!DOCTYPE html> <html> <head> </head> <body> <div id="map"></div> <script> function initMap() { // Create a m
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
// Create a map object and specify the DOM element for display.
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
scrollwheel: false,
zoom: 8
});
console.log(map);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCvjeJZDdkpxCLasVMvTX2raxKkVGUULP8&callback=initMap"
async defer></script>
</body>
</html>
输出在webview中显示空白页。在Info.plist中添加键和值 添加你的链接url,而不是google.com
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>New item</key>
<string>http://www.google.com</string>
</dict>
</dict>
此处loadwebs是webview属性名称请尝试以下代码
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
function init() {
var latlong = new google.maps.LatLng(23.0225, 72.5714);
var myOptions = {
zoom: 15,
center: latlong,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
</script>
</head>
<body onload="init()">
<div id="map_canvas" style="width:100%; height:100%">
</body>
</html>
我还在info.plist文件中添加了NSAppTransportSecurity NSAllowsArbitraryLoads使用此方法-(void)loadHTMLString:(NSString*)string baseURL:(NSURL*)baseURL@Jigar我使用这个NSString htmlFile=[[NSBundle mainBundle]pathForResource:@“basic”类型:@“html”inDirectory:nil];NSString htmlString=[NSString STRINGWITHCONTENTSOFILE:htmlFile编码:NSUTF8STRING编码错误:nil];[\u webView加载htmlString:htmlString baseURL:[[NSBundle mainBundle]bundleURL]];但这也不起作用/你检查你的html文件是否工作?@Jigar html页面在Safari中也显示为空白/Chrome@Sudipta查特吉,你检查我的答案了吗?
NSURLRequest* urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
[self.loadwebs loadRequest:urlRequest];
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
function init() {
var latlong = new google.maps.LatLng(23.0225, 72.5714);
var myOptions = {
zoom: 15,
center: latlong,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
</script>
</head>
<body onload="init()">
<div id="map_canvas" style="width:100%; height:100%">
</body>
</html>
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL