2008-10-21 11 views
38

पर जिओलोकेशन एपीआई क्या किसी को पता है कि आईफोन का समर्थन करता है या जल्द ही W3C Geolocation specification का समर्थन करेगा?आईफोन

मैं मोबाइल उपयोगकर्ताओं के लिए एक ऐप्लिकेशन का निर्माण करने के बजाय समय बिताने के लिए हर अलग मंच के लिए क्षुधा (iPhone, Android, आदि ...) के विकास देख रहा हूँ, लेकिन, मैं बहुत ही वेब एप्लिकेशन बनाने के लिए चाहते हैं कि डब्ल्यू 3 सी मानक का उपयोग करता है।

उत्तर

45

इस कोड मेरे लिए काम किया बना लिया है - पर आईफोन वेब ब्राउज़र सफारीऔर एक अतिरिक्त बोनस के रूप में यह फ़ायरफ़ॉक्स 3.5 के साथ भी मेरे लैपटॉप पर काम करता है! जिओलोकेशन एपीआई विशिष्टता डब्ल्यू 3 कंसोर्टियम के मानकों का हिस्सा है लेकिन चेतावनी दी जानी चाहिए: इसे अभी तक अंतिम रूप दिया नहीं गया है।

alt text http://blog.bemoko.com/wp-content/uploads/2009/06/iphone-geo-300-1-150x150.jpgalt text http://blog.bemoko.com/wp-content/uploads/2009/06/iphone-geo-300-2-150x150.jpg

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Geolocation API Demo</title> 
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" name="viewport"/> 
<script> 
function successHandler(location) { 
    var message = document.getElementById("message"), html = []; 
    html.push("<img width='256' height='256' src='http://maps.google.com/maps/api/staticmap?center=", location.coords.latitude, ",", location.coords.longitude, "&markers=size:small|color:blue|", location.coords.latitude, ",", location.coords.longitude, "&zoom=14&size=256x256&sensor=false' />"); 
    html.push("<p>Longitude: ", location.coords.longitude, "</p>"); 
    html.push("<p>Latitude: ", location.coords.latitude, "</p>"); 
    html.push("<p>Accuracy: ", location.coords.accuracy, " meters</p>"); 
    message.innerHTML = html.join(""); 
} 
function errorHandler(error) { 
    alert('Attempt to get location failed: ' + error.message); 
} 
navigator.geolocation.getCurrentPosition(successHandler, errorHandler); 
</script> 
</head> 
<body> 
<div id="message">Location unknown</div> 
</body> 
</html> 
+0

बमर! यह अब काम नहीं करता है! देखें: http://bemoko.com/blog/iphonegeo – Rimian

+0

मेरे लिए काम करता है अब – Jamie

+0

और यह भी लिनक्स पर क्रोम के साथ काम करता है! –

-3

वर्तमान में, केवल जावास्क्रिप्ट एपीआई का उपयोग करके आईफोन की जीपीएस स्थिति प्राप्त करना संभव नहीं है। बात की गई है कि यह अच्छा होगा, लेकिन निश्चित रूप से ऐप्पल सार्वजनिक रूप से भविष्य में सुधार पर टिप्पणी नहीं करेगा।

+2

W3C भौगोलिक-स्थान मेरा मानना ​​है कि iPhone की आसन्न 3.0 उन्नयन द्वारा समर्थित है। – hendry

+0

क्या इस मुद्दे पर कोई विकास है? – Jack

-1

आईफोन पर जावास्क्रिप्ट में जीपीएस जानकारी प्राप्त करना संभव है। क्विककनेक्टिफोन फ्रेमवर्क आपके लिए और त्वरण जानकारी के लिए यह खुलासा करता है।

इस जानकारी को प्राप्त करने के लिए आपको डिवाइस पर एप्लिकेशन इंस्टॉल करना होगा। यह ढांचा जल्द ही एंड्रॉइड स्थापित अनुप्रयोगों के साथ ही नोकिया के लिए उपलब्ध होगा।

आप अपने प्रत्येक एप्लिकेशन को इन उपकरणों, संकलन और जहाज के लिए ढांचे में डाल सकते हैं।

QuickConnectiPhone https://sourceforge.net/projects/quickconnect/

पर उपलब्ध है और यदि आप मुझसे संपर्क मैं तुम्हें Android और नोकिया के लिए रिलीज संस्करणों दे सकते हैं।

-1

Rhodes एक "विकसित-एक बार रन-हर जगह" समाधान का वादा किया गया है। खुद को कोशिश नहीं की है।

0

यह अंतर इसलिए है कि मैंने लोकेटेबल एप्लिकेशन विकसित किया - यह अनिवार्य रूप से आईफोन सफारी के लिए एक प्लग-इन है। वर्तमान में यह केवल जेलब्रोकन फोन के लिए उपलब्ध है।

देखें http://lbs.tralfamadore.com/

5

के बाद से iPhone OS 3.0 सफारी भू स्थान मिल रहा है समर्थन करता है। देखें: Safari Reference Library:Getting Geographic Locations दूसरी ओर डब्ल्यू 3 सी जियो एपीआई विनिर्देश अभी भी ड्राफ्ट में है।

2

मैंने MyWhirledView के कोड को अपडेट किया। मेरे आईओएस 4.3 डिवाइस पर बहुत अच्छा काम करता है। Google को अब अपनी स्थिर मानचित्र लाइब्रेरी तक पहुंचने के लिए एपीआई कुंजी की आवश्यकता नहीं है।

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>iPhone 4.0 geolocation demo</title> 
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" name="viewport"/> 
<script> 
function handler(location) { 
var message = document.getElementById("message"); 
message.innerHTML ="<img src='http://maps.google.com/maps/api/staticmap?center=" + location.coords.latitude + "," + location.coords.longitude + "&zoom=14&size=256x256&maptype=roadmap&sensor=false&markers=color:blue%7Clabel:ABC%7C" + location.coords.latitude + "," + location.coords.longitude + "' />"; 



message.innerHTML+="<p>Longitude: " + location.coords.longitude + "</p>"; 
message.innerHTML+="<p>Accuracy: " + location.coords.accuracy + "</p>"; 
message.innerHTML+="<p>Latitude: " + location.coords.latitude + "</p>"; 



} 
navigator.geolocation.getCurrentPosition(handler); 
</script> 
</head> 
<body> 
<div id="message">Location unknown</div> 
</body> 
</html> 
+0

कोड के लिए धन्यवाद! मैंने पहली बार आईएमएल 5 आईओएस 6 पर काम किया, जब मैंने पहली पंक्ति पर एक्सएमएल घोषणा हटा दी –

-1

यह छोटा सा जावास्क्रिप्ट पुस्तकालय पार मंच है और बॉक्स से बाहर सभी आधुनिक स्मार्टफोन का समर्थन करता है:

http://code.google.com/p/geo-location-javascript/

यहाँ है कि इसका प्रयोग कैसे :

//determine if the handset has client side geo location capabilities 
if(geo_position_js.init()){ 
    geo_position_js.getCurrentPosition(success_callback,error_callback); 
}else{ 
    alert("Functionality not available"); 
}