Change map colors in iOS MapView? - ios

Is it possible to change map element colors in a MapView in the same way that you can with a Google Map? If so, how would I go about doing this.
I'm looking to change map element colors pretty substantially, so I don't think that adding an Annotation as described here is the right solution.
As an example, http://geo.rkn.la has a map that is skinned to be grayscale, and Google has documentation of how to do this for web maps here.

I gave CloudMade a try, and it wound up working reasonably well, but I decided against using them for two reasons:
1) Their support sucks. I shot an email to their support address about a week or two ago and have still not received any kind of response. Their most recent SVN commit is also close to a year old.
2) This issue raised on the Route Me repo, combined with their shoddy support, scared me away.
I did manage to find an SDK called MapBox that is also built on Route Me that was suitable for the task. Their git repo is in active development and they are available on freenode during normal business hours. I'd recommend them over CloudMade to anyone who has the same question I had initially.

It's not possible using UIMapKit.
I have used CloudMade before, which enable you to customise map colours quite extensively. As far as I know their maps use OpenStreetMap data.

No, it is not possible with the current MapKit.
Any substantial update like the one you describe would have to be performed when requesting tiles from Google, and at the moment only Apple does this, deep in the framework.

Related

First Person Map View in iOS

I am currently developing an iOS app using Objective-C and I came across with a requirement from my client that I am unsure and unaware if it can be made.
The app that I am working with is Map based using the geolocalization of the user at all times. To do so, as I am sure you all know, I am using the MapKit.framework that Apple gives us pre-built.
My doubt came when my client asked me if it’s possible to use the First Person Maps View instead of the traditional 2D Map. To make my question clear to you, what I was exactly asked if there is any chance to use the same view of the GPS navigation in the app (See picture below). Is there any way to do so? If so, could you give me some guides to achive that?
Any help would be appreciate it!
After some hours of research I've found a way to do so. The key property is initialized trough:
MKMapCamera *mapCamera = [MKMapCamera cameraLookingAtCenterCoordinate:ground fromEyeCoordinate:eye eyeAltitude:50];
Take a look at this tutorial if you are need of an explanation step by step:
http://nscookbook.com/2013/10/ios-programming-recipe-30-using-3d-mapping/

Best way to graph some data

I am wanting to display a line graph with details containing wind speed/gust/lulls etc for out local club paragliding app I am making. wondering what the best way to go about it with is?
The current data is just on the web so something similar that I can pinch zoom maybe:
http://www.acthpa.org/wind/
Willy weather has an awesome app that display very nicely, anyone know what they might have used to make it so? the web is very similar to their iPHone app:
http://wind.willyweather.com.au/vic/western-district/wild-dog-beach.html
after looking around at various 3rd party's, i'm using Core Plot :-)
I've put together a really simple class for displaying line graphs, check it out at https://github.com/johnyorke/JYGraphViewController
Perhaps rotate the phone for the graph view then swipe up and down to go between the different metrics you wish to show?
There are various third party graphing libraries for iOS. I looked into CorePlot a while back, but did not end up needing it. It looked full-featured, although I've seen posts that it is rather complex and involved to use.

How to store openstreetmap data locally on an iphone

I'm working on a project for college and I'm having great difficulty with part of it.
Simply put, I am looking to do the following 5 things:
download the open street map data for my city
store that data locally on the phone's harddrive.
view that data in my iOS application as a map
place markers on the map.
draw paths along roads between those paths.
I have been working on this particular part of the project for a number of weeks and I'm getting nowhere with it. I haven't even been able to figure out how to store the map on the phone let alone view the map data. I've tried using the "Route-Me" library but cannot get it working (although it seems to be one of the best libraries for using openstreetmap data so I am looking to learn how to use it). I feel pretty goddamned defeated.
If anyone has accomplished any of the tasks I am trying to do could you please link me to tutorials/guides/videos that you have used.
I'm not looking for people to give me code or do the work for me, I want to learn how to do this, but if anyone can point me in the right direction of sites that I could learn off I would be very grateful.
Any advice or feedback would be much appreciated
Here's how I ended up solving the problem.
Since Tilemill doesn't natively read .osm/.o5m/.pbf files I used Osmosis to convert a .osm file into .shp files.
I then created a new project in Tilemill and added the particular .shp files I wanted as layers to the new project. It takes a little bit of tinkering to get the map to look like you want it to but it's very similar to css and pretty easy to pick up as you go.
Once I had the map looking the way I wanted it I exported it as a .mbtiles file. This takes a long time to make and the files can be very large depending on how detailed the tiles are. I did one map of Ireland with zoom levels between 7-14 inclusive and I did one map of just Dublin city with zoom levels of 11-17 inclusive. Even though the map of just the city of Dublin had much less tiles, they were both ~200MB in size.
I then found this tutorial online which explains how to store the .mbtiles file in you application and how to read it: http://martinsikora.com/creating-mbtiles-db-for-ios-mapbox-from-hi-res-map-image
Here are a few other links that I found useful:
http://www.kindle-maps.com/blog/using-tilemill-with-openstreetmap-data.html
http://mapbox.com/developers/mbtiles/
http://mapbox.com/mapbox-ios-sdk/api/
http://mapbox.com/developers/api/#static_api
http://support.mapbox.com/discussions
I hope this is useful to someone
I would suggest trying the MapBox iOS SDK. It is actually forked from the Route-Me library and will allow you to accomplish everything on your list.
A key point to remember is that you have another step in between downloading the OSM data and storing it locally on the iOS device, that is, generating the map tiles and storing them in some sort of database.
Here is an example iOS app using the MapBox SDK that has both online and offline map sources and is a good place to start.

Is the Map Rails Kit worth the money?

http://railskits.com/map/
Would you like to launch your own
google map mashup? Need a way to
easily get data onto a map, but don’t
want to have to dig through piles of
poorly documented Google Maps
javascript code?
The Map Rails Kit allows you to deploy
a map mashup instantly. It extracts
all the Google Maps implementation
details, organizes all the
customizations into an easy to use
config file, and reimplements the map
controls, bubbles, and markers so your
app looks unique.
Populating your map with markers
consists of working with a few simple
ActiveRecord models so it’s amazingly
easy to get started. Create marker
records with titles, bubble content,
and location. If you specify just an
address to your markers, your markers
will be automatically geocoded for
you. You can even add tens of
thousands of markers to your maps
easily, and they’ll dynamically load
onto the map only when they are
currently in view as your users
navigate the map.
The Kit includes all the usability
polish that your users would expect in
a commercial map mashup. Their current
map settings are always saved via
session so when they come back to the
page later on, they’re right where
they left off before. For new
visitors, we support hooking into an
ip2location service in order to
initialize their current position. So
they immediately see their current
spot on the map, and can begin
interacting with it.
This Kit was authored by Jacques
Crocker.
This is kind of subjective, but I don't find the Google Maps API nearly as daunting as the blurb makes it out to be. I don't think I'd pay half a grand for an API to the Maps API — especially since you can buy a whole book on the topic for like $15 even if you find Google's docs lacking.
This guy doesn't even make it clear what it is he's selling. He makes the features of using the google maps API with Rails sound more difficult than entire feature set of Google maps itself.
There are plenty of other plugins and/or gems available that do more or less the same thing with slightly more effort involved and the book of course (possibly more than one at this point).
If you want a turnkey solution for stacks of money, .NET or some more commercial platform will have more options. I would avoid using this guys solutions out of selfishness, if he does well they'll be others with more colorful marketing making such grand solutions. After which Google will be clogged with them and we'll have to wade through dozens of such spectacular offerings to find the better, albeit less polished (less advertised) open source versions.
Are there any good googlemaps plugins for rails?

Comprehensive graphing and charting solutions...?

I have need to produce LINE, BAR, and PIE charts in Rails. I have found several that do all these. However the one caveat is that I can never find a solution that does all as well as XY-SCATTER. I've looked at Gruff,Scruffy,Gnuplot, etc. and none of them do "everything". Can anyone recommend a local (i.e. doesn't require network connectivity) library that can accommodate? GoogleCharts isn't an option as some of this will occur on closed networks.
Best.
If you don't mind commercial solutions, take a look at ChartDirector.
Open Flash Chart Plugin for Ruby on Rails - Graphs
FusionCharts is pretty good if you don't have a problem with Flash.
Have you checked Google charts? I'm not a web developer myself but it seems that, although not implemented in Rails, you can call the chart API and display the generated image.
Looking at the available chart types, it can give you all the types you want.
Edit: A search turned up this google-chart-on-rails wrapper.

Resources