构建 Phonegap 应用未初始化 google 地图
Build Phonegap App is not initializing the google maps
规格:
- PhoneGap 桌面应用 v0.4.3
- Android v5.1.1
以上代码在桌面应用程序中运行良好,config.xml 是由该 PhoneGap 桌面应用程序创建的。
当我在 build.phonegap.com 上尝试时,Google 地图无法初始化,因此 android 上什么也没有出现,只是白屏。
这是我的 initMap 方法,API 需要它:
var map, directionsService, directionsDisplay;
function initMap() {
directionsService = new google.maps.DirectionsService;
directionsDisplay = new google.maps.DirectionsRenderer;
map = new google.maps.Map(document.getElementById('gMap'), {
zoom: 10,
center: { lat: 25.0115052, lng: 66.7845126 },
mapTypeId: 'roadmap',
});
directionsDisplay.setMap(map);
} // initMap() ends
config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld"
version="1.0.0"
xmlns="http://www.w3.org/ns/widgets"
xmlns:gap="http://phonegap.com/ns/1.0">
<name>TestApp</name>
<description>
A blank PhoneGap app.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
PhoneGap Team
</author>
<content src="index.html" />
<access origin="*" />
</widget>
制作原生混合应用需要注意以下几点:
- 目标设备(Android、IOS 等)对网络语言(HTML、CSS、JS 等)的版本支持。
- 加载所需的插件/库以使用本机组件。
解决方案:
您需要 cordova-plugin-whitelist 插件来访问地图,因此,这将解决您的问题:
<plugin name="cordova-plugin-whitelist" spec="1.3.2" />
<!-- Allow geo: links to open maps -->
<allow-intent href="geo:*" />
根据Cordova Docs:
By default, no external URLs are allowed. On Android, this equates to sending an intent of type BROWSEABLE.
规格:
- PhoneGap 桌面应用 v0.4.3
- Android v5.1.1
以上代码在桌面应用程序中运行良好,config.xml 是由该 PhoneGap 桌面应用程序创建的。 当我在 build.phonegap.com 上尝试时,Google 地图无法初始化,因此 android 上什么也没有出现,只是白屏。
这是我的 initMap 方法,API 需要它:
var map, directionsService, directionsDisplay;
function initMap() {
directionsService = new google.maps.DirectionsService;
directionsDisplay = new google.maps.DirectionsRenderer;
map = new google.maps.Map(document.getElementById('gMap'), {
zoom: 10,
center: { lat: 25.0115052, lng: 66.7845126 },
mapTypeId: 'roadmap',
});
directionsDisplay.setMap(map);
} // initMap() ends
config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld"
version="1.0.0"
xmlns="http://www.w3.org/ns/widgets"
xmlns:gap="http://phonegap.com/ns/1.0">
<name>TestApp</name>
<description>
A blank PhoneGap app.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
PhoneGap Team
</author>
<content src="index.html" />
<access origin="*" />
</widget>
制作原生混合应用需要注意以下几点:
- 目标设备(Android、IOS 等)对网络语言(HTML、CSS、JS 等)的版本支持。
- 加载所需的插件/库以使用本机组件。
解决方案:
您需要 cordova-plugin-whitelist 插件来访问地图,因此,这将解决您的问题:
<plugin name="cordova-plugin-whitelist" spec="1.3.2" />
<!-- Allow geo: links to open maps -->
<allow-intent href="geo:*" />
根据Cordova Docs:
By default, no external URLs are allowed. On Android, this equates to sending an intent of type BROWSEABLE.