![](/img/trans.png)
[英]flowplayer video on ipad/ipod touch not working in drupal7 using ipad plugin - byte range headers problem
[英]Geolocation Code Not Working for iPhone / iPod Touch / iPad
我們在Apple Store進行了一些測試,結果發現我們的地理位置代碼(獲取經度和緯度)不適用於iPhone,iPod Touch或iPad。 我確實必須添加額外的代碼才能使其在MacBook / iMac上運行。
有人知道可以獲取在iPod Touch / iPhone / iPad設備上肯定可以使用的經度/緯度的代碼嗎?
碼:
// needed for iPhone / iPad / iTouch
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDrORw0RI-1v-5BixC4T_zLEhcBBwGzyuQ&sensor=true"></script>
// needed for iMac / MacBook
<script src="http://code.google.com/apis/gears/gears_init.js" type="text/javascript"></script>
<script src="http://gaychat.me/js/geo.js" type="text/javascript" ></script>
<script type="text/javascript"><!--
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1;
var isIPhone = ua.indexOf("iphone") > -1;
var isIPod = ua.indexOf("ipod") > -1;
var isBlackberry = ua.indexOf("blackberry") > -1;
var isIPad = ua.indexOf("ipad") > -1;
if (isIPhone || isIPod || isIPad) {
function doGeo() {
var geolocator = new google.maps.Geocoder();
geolocator.geocode({},
function(results, status){
var geocoding_url = "geocoding.php?lat=" + results[0].geometry.location.lat() + "&long=" + results[0].geometry.location.lng() + "&email=<?=$brosforbros_email;?>&key=<?=$session_key;?>";
$.ajax({
url: geocoding_url,
success: function(data) {}
});
}
)
/*function geo_success(position) {
prev_lat = position.coords.latitude;
prev_long = position.coords.longitude;
var geocoding_url = "geocoding.php?lat=" + position.coords.latitude + "&long=" + position.coords.longitude + "&email=<?=$brosforbros_email;?>&key=<?=$session_key;?>";
$.ajax({
url: geocoding_url,
success: function(data) {}
});
}
function geo_error() {
}
if (!!navigator.geolocation) {
wpid = navigator.geolocation.watchPosition(geo_success, geo_error, {enableHighAccuracy:true, maximumAge:30000, timeout:27000});
}*/
}
} else if (geo_position_js.init()) { // needed for MacBook's / iMac with Safari
function doGeo() {
geo_position_js.getCurrentPosition(success_callback,error_callback,{enableHighAccuracy:true});
function success_callback(p) {
geo_lat = p.coords.latitude.toFixed(3);
geo_long = p.coords.longitude.toFixed(3);
var url = 'geolocation.php?geo_user_id=<?=$user_id;?>&geo_email=<?=$user_email;?>&geo_lat=' + geo_lat + '&geo_long=' + geo_long;
$.ajax({
url: url,
context: document.body,
success: function(data) {
// UPDATE GEOLOCATION
}
});
}
function error_callback(p) {
alert('error='+p.code);
}
}
} else {
var gl;
function getCookie(name) {
var start = document.cookie.indexOf(name + "=");
var len = start + name.length + 1;
if ((!start) && (name != document.cookie.substring(0, name.length))) {
return null;
}
if (start == -1) return null;
var end = document.cookie.indexOf(";", len);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(len, end));
}
function displayPosition(position) {
geo_lat = position.coords.latitude;
geo_long = position.coords.longitude;
var url = 'geolocation.php?geo_user_id=<?=$user_id;?>&geo_email=<?=$user_email;?>&geo_lat=' + geo_lat + '&geo_long=' + geo_long;
$.ajax({
url: url,
context: document.body,
success: function(data) {
// UPDATE GEOLOCATION
}
});
}
function displayError(positionError) {
//alert("error");
}
function doGeo() {
try {
if (typeof navigator.geolocation === 'undefined'){
gl = google.gears.factory.create('beta.geolocation');
} else {
gl = navigator.geolocation;
}
} catch(e) {}
if (gl) {
gl.getCurrentPosition(displayPosition, displayError);
} else {
//alert("Geolocation services are not supported by your web browser.");
}
}
}
doGeo();
</script>
我寫了那個圖書館。 如果您真的只在向iOS部署,則可以簡單地使用基本javascript並完全繞開該庫:
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
function foundLocation(position)
{
var lat = position.coords.latitude;
var long = position.coords.longitude;
alert('Found location: ' + lat + ', ' + long);
}
function noLocation()
{
alert('Could not find location');
}
lib有助於其他平台的一些時髦行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.