phonegap cordova凝胶位置未显示在手机上
phonegap cordova gelocation not showing out on phone
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
var myLatlng = new google.maps.LatLng(37.3000, -120.4833);
var mapOptions = {
center: myLatlng,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
draggable: true,
animation: google.maps.Animation.DROP
});
navigator.geolocation.getCurrentPosition(function(pos) {
map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
var myLocation = new google.maps.Marker({
position: new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude),
map: map,
title: "My Location"
});
});
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Geo Location</title>
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map { height: 100% }
</style>
<script type="text/javascript" src="cordova.js"></script>
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyB1oJGDZP2lM3c1dnPBmAbPBOb_Rh4u8n0&sensor=true"></script>
<script type="text/javascript" src="js/index.js"></script>
</head>
<body>
asd
<div id="map"></div>
</body>
</html>
当我运行这两个文件时,谷歌地图没有出现在我的手机中,我不知道为什么,但当在网络浏览器中运行时,它可以工作,我还安装了cordova地理定位插件并添加了权限,但仍然无法工作,你们中的任何人能帮我吗?
@user3711175,你有几个问题@Joerg是对的。您将需要使用whitelist
系统 您有两(2)个问题
更新-2015-12-23:我误读了代码#1不适用
###1.您在中的错误上下文中使用
this
document.addEventListener('deviceready', this.onDeviceReady, false);
你想写app.onDeviceReady
,像这样:
document.addEventListener('deviceready', app.onDeviceReady, false);
当EventListener最终激发时,它不再位于app
对象的上下文中。它现在是全球性的。有关详细信息,请参阅此SO post
- iOS上的PhoneGap网络信息插件存在问题
2.您需要应用whitelist
系统
这个白名单工作表应该会有所帮助
如何应用Cordova/Phonegap白名单系统
以下内容需要添加到谷歌地图制作的whitelist
中。
以下域名是谷歌地图所必需的。
- maps.googleapis.com
- mt0.googleapis.com mt1.googleapis.com
- fonts.googleapis.com
- csi.gstatic.com
- maps.gstatic.com
可用通配符(*
)。阅读文档。
相关文章:
- 从桌面读取python文件时高亮显示代码
- 向下滚动时隐藏菜单,向上滚动时显示,适用于Chrome,不适用于Safari(手机)
- 模态未在使用 Twitter Bootstrap 3.0 的手机上显示
- 如何在 jquery 手机中显示之前在页面中设置选择框的值
- Jquery日期选择器在手机和PC上显示不同的日期
- 为什么对于一个手机号码,这个数据表没有显示任何结果
- 当我在智能手机上显示时,将悬停添加到我的页面
- Phonegap不会在手机中显示谷歌地图
- jquery.hide()函数-隐藏手机,显示桌面
- 自定义谷歌地图不能在手机和平板电脑上显示
- 需要显示关于手机的验证错误消息
- Popcorn.js:手机浏览器YouTube "play"按钮不显示
- 当我点击html输入时,禁用手机键盘的显示
- 强制safari在智能手机上始终显示顶部栏
- 我的谷歌地图javascript代码显示在桌面浏览器,但不是我的手机浏览器
- 当用户想要改变手机方向时,我的应用显示错误的UI.Android
- "旧的“;当通过javascript选中时,手机不会显示复选框复选标记
- 如何在手机浏览器中显示Base64编码的pdf;t有pdf组件
- 如何显示带有街道,城市和国家/地区的手机的当前位置
- 如何显示html内容仅在平板电脑上,而不是在手机或桌面