[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CoreLocation clone
From: |
Maxthon Chan |
Subject: |
Re: CoreLocation clone |
Date: |
Wed, 05 Jun 2013 08:05:50 +0800 |
Thanks, man, I will look into the triangulating issue. What I need now is a way
to get the location calculated on a server.
Pretty much all issues around the API is solved:
* Interface will be provided using Objective-C CGI code running on top of
Apache 2.2 and GNUstep (some svn version) on my server running 32-bit Ubuntu
13.04 Server
* openBmap interfacing will be a cron job written in Objective-C.
* Database will be provided using either GDL2+MySQL 5.5 or
CGIJSONObjects+mongoDB
Wish me good luck then. This project still need a name though.
在 2013-6-4,下午7:14,Ivan Vučica <address@hidden> 写道:
> Hi,
>
> My GSoC project for this year is implementing Opal (that is, Core Graphics)
> backend for GNUstep-GUI, so that part should not be a problem.
>
> Right now I'm not very familiar with current drawing API (I'm about to become
> VERY familiar with it) so I'm not sure, but it might also be enough to draw
> maps.
>
> I'd also suggest looking into implementing CATiledLayer in QuartzCore :-)
>
> Regards,,
>
> Ivan Vučica
> via phone
>
> On 4. 6. 2013., at 08:27, Maxthon Chan <address@hidden> wrote:
>
>> Here is a list of tasks to finish to make this into being:
>>
>> 1) Enhance CoreBase, probably fuse it with Base or move a significant
>> portion of code from Base, so that CoreGraphics will work properly;
>> 2) Implement CoreGraphics on top of Back and link against CoreBase;
>> 3) Rewrite GUI to employ the new CoreGraphics API;
>> 4) Implement CoreLocation. This may spin off a subproject to maintain an
>> open WLAN AP geolocating server using data from OBM
>> 5) Implement MapKit that will link against GUI, CoreLocat;ion and
>> CoreGraphins. CG is used to generate maps.
>>
>> Tasks 4 can run parallel with tasks 1, 2 and 3.
>>
>> 在 2013-6-4,下午2:06,Sebastian Reitenbach <address@hidden> 写道:
>>
>>>
>>> On Tuesday, June 4, 2013 02:45 CEST, Ivan Vučica <address@hidden> wrote:
>>>
>>>>
>>>> On 4. 6. 2013., at 01:02, Maxthon Chan <address@hidden> wrote:
>>>>
>>>>> From what I know, you can use Android location services without Google
>>>>> Maps app as tried on a home-brew Android device - this meant that
>>>>> probably the locating API is not in the Google Maps app but in the system
>>>>> itself, and can be safely extracted.
>>>>
>>>> Indeed? What backend does that use? :-)
>>>>
>>>> If the homebrew device has GPS on it, then the location API's
>>>> functionality does not surprise me. If it, however, does not, then
>>>> listening to traffic with Wireshark is in order to figure out whose terms
>>>> of use you want to study before reversing the protocol :-)
>>>>
>>>> From what I can tell, you can't actually check this on a retail device
>>>> which comes with Google services, because these services can also provide
>>>> information to the "android.location" API, not just the "Google Location
>>>> Services for Android":
>>>> http://developer.android.com/guide/topics/location/index.html
>>>>
>>>> If it turns out it is based on WLAN stations, it still almost certainly
>>>> uses an API endpoint that comes with terms of service. And if it's Google
>>>> Maps Location API, then all I can say is -- just because a blind eye is
>>>> turned when a Google-backed open source project (that is, the "Android
>>>> Open Source Project" as it's called) uses the API - well, that doesn't
>>>> mean they'll like GNUstep using it.
>>>>
>>>>> For OpenStreepMap and OpenBmap, this would require a cooperation between
>>>>> projects - they should be willing to back up our CoreLocation and MapKit
>>>>> implementation.
>>>>
>>>> Yes. From what little I know about OSM, it's primarily a data source; so
>>>> we would also need someone to provide tiles (the rendered images
>>>> themselves). An iOS app I know offers a choice between about 8 different
>>>> tiling providers; it may be worth looking into that.
>>>
>>>
>>> I don't think you'd need an extra tiles provider. OSM offers an API to
>>> query its database, and you get back an XML snippet describing the map. You
>>> then can just render it on your own.
>>> I use qlandkartegt a lot, which is doing exactly this.
>>>
>>> cheers
>>> Sebastian
>>>
>>>>
>>>> By the way -- I've just remembered MySTEP also has a MapKit implementation
>>>> which happens to use OpenStreetMap:
>>>> http://projects.goldelico.com/p/mySTEP/page/MapKit/
>>>>
>>>> Now, OpenBmap. OpenBmap doesn't actually provide a complete service; it
>>>> primarily provides a database of MAC-to-geolocation mappings. This is
>>>> great for what is needed for Core Location; one just needs to develop a
>>>> good triangulation algorithm based on relative signal strengths of
>>>> multiple MACs. Upload a list of MACs and signal strengths, get back the
>>>> geolocation. :-)
>>>>
>>>>> Have you ever noticed that there are lots of 3G network adapters for
>>>>> computers that plugs onto a computers USB or ExpressCard port? For some
>>>>> computer models (like Dell Latitude D620, as I have a really old one
>>>>> still alive, kicking and serves my blog - shameless plug,
>>>>> http://blog.maxchan.info/ - to everyone over the Internet) there are even
>>>>> built-in ones?
>>>>
>>>> Sure. Can you issue an AT command that will list all the cell tower
>>>> identifiers along with signal strength toward that particular tower? Can
>>>> you issue an AT command to get an identifier of just the tower you're
>>>> connected to, so you can combine that with the current connection signal
>>>> strength? :-)
>>>>
>>>> That's the problem: you may be able to find the AT command on a particular
>>>> dongle, but it's bound to be nonstandard and probably won't exist on
>>>> whatever garbage operators around the world tend to sell. (For example, I
>>>> had some... 'experience' with a dongle that came with OS X 10.5 drivers.
>>>> These included libcurl... which, when overwritten on 10.6, broke
>>>> loginwindow.app. Not a nice situation to be in. Even worse is spending a
>>>> few hours on diagnosing that this is, indeed, the problem. *sigh*)
>>>>
>>>>> The MapKit for OS X in question seemed used only public Google Maps API.
>>>>> It is freely licensed as well, no key required and the author himself is
>>>>> not in trouble as well.
>>>>
>>>> Did you read Google Maps API terms of service and, more importantly, the
>>>> billing information? Aside from decision to go "thermonuclear", financials
>>>> are considered one of the reasons why Apple opted for rolling the infamous
>>>> Apple Maps service.
>>>>
>>>> Regarding the author of MapKit for OS X being sued: just because a tiger
>>>> turns a blind eye doesn't mean you should go poking him with a stick :-)
>>>>
>>>> Plus, aside from Google Maps API, you need to consider Google Maps
>>>> Location API, which has no free tier apart from 100 requests a day. Hardly
>>>> enough for any serious use.
>>>>
>>>> On 4. 6. 2013., at 01:07, Maxthon Chan <address@hidden> wrote:
>>>>
>>>>> And by what I say as crowd-sourcing, I mean ask users that are willing to
>>>>> share for information. What we are asking for here is several numbers: AP
>>>>> BSSID, transmission power, and its geological location (latitude and
>>>>> longitude, as well as height). The request is done by the device
>>>>> uploading a list of BSSIDs received and its signal strength, hence BSSID
>>>>> never leaves our servers, and thus privacy issue avoided.
>>>>
>>>>
>>>> Sure; so the only people violating the privacy are -- we ourselves? :)
>>>>
>>>> Plus, what happens when someone queries for location of MAC "XYZ"? We
>>>> reveal the location -- which is the purpose of the API. Sure, that happens
>>>> already: Google's doing it, Apple's doing it, Skyhook's doing it, OpenBmap
>>>> people seem to be doing it. I'm just saying that it's private information,
>>>> in a way. :-)
>>>>
>>>> from the things-we-unknowningly-reveal dept:
>>>>
>>>> I really liked it when, at my former workplace, we received a crash report
>>>> for a game on OS X. Something ticked my curiosity and I playfully passed
>>>> into Skyhook the several listed AP MAC addresses that OS X dutifully
>>>> included in "full system report". Imagine my surprise when it turned out
>>>> that Skyhook claimed the location was just across Apple's campus...
>>>>
>>>> ...and yes, it did turn out it was a crash report from an Apple employee.
>>>>
>>>> --
>>>> Ivan Vučica
>>>> address@hidden - http://ivan.vucica.net/
>>
>>
>> _______________________________________________
>> Gnustep-dev mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev
- Re: CoreLocation clone, (continued)
- Re: CoreLocation clone, David Wetzel, 2013/06/03
- Re: CoreLocation clone, Ivan Vučica, 2013/06/03
- Re: CoreLocation clone, Maxthon Chan, 2013/06/03
- Re: CoreLocation clone, Ivan Vučica, 2013/06/03
- Re: CoreLocation clone, Maxthon Chan, 2013/06/03
- Re: CoreLocation clone, Ivan Vučica, 2013/06/03
- Re: CoreLocation clone, Sebastian Reitenbach, 2013/06/04
- Re: CoreLocation clone, Maxthon Chan, 2013/06/04
- Re: CoreLocation clone, Maxthon Chan, 2013/06/04
- Re: CoreLocation clone, Ivan Vučica, 2013/06/04
- Re: CoreLocation clone,
Maxthon Chan <=
- Re: CoreLocation clone, Sebastian Reitenbach, 2013/06/04
- Re: CoreLocation clone, Maxthon Chan, 2013/06/03
Re: CoreLocation clone, Sebastian Reitenbach, 2013/06/03
Fwd: CoreLocation clone, Maxthon Chan, 2013/06/03
Fwd: CoreLocation clone, Maxthon Chan, 2013/06/03
Fwd: CoreLocation clone, Maxthon Chan, 2013/06/04