Creating Custom Map based on User Input - ios

I'm trying to create a campus navigation app for my college, and in order to do so I need to make a custom map (or use Apple's, but I'd rather make my own), how exactly would I go about it? I had an idea to just use my location and walk around, forcing my phone to draw the map for me (using lines and such) but I wasn't sure how to go about it.
Is there anyway to create a map that updates automatically when new routes are added via anyone's phone? Almost like a collaborative map?

Related

How to Make a Programmable Tile View (Like the App Store Has)?

I'm building an app, and I want the main view to be "tile" based, kind of like how the App Store looks:
In other words, I'd like to be able to add rounded "tiles" (like the get fit, now trending) to my view with certain information- a method that adds tiles in certain scenarios, with certain information. I'd also like the view to be scrollable, and the tiles to expand and reveal more information when clicked.
I have no idea how to start this, so I'm sorry for the vagueness, but any help is appreciated.
Anyone looking to make a UI like the App Store's today page will find what they want in the Cocoapod called "Cards."

Define custom navigation paths in Google Maps

I am trying to implement something like Google's indoor maps feature, locally in my iOS app, using GroundOverlays. I could easily get the overlay part done by overlaying a .png image at some position in the map, using the API. I could also implement a custom floors switcher, just like Google's one, so it changes the floor overlay image. However, I still miss the ability to navigate in the native indoor maps. How can I define custom navigation paths in that region so when user navigates between two points inside it, the calculated path gets generated with respecting them?

Make MapView display normal Apple Maps when I don't have a tile in my MKTileOverlay set

I am working on an iOS map that uses a "custom" map, stored completley in my application so it can always be accessed offline. I am using a custom MKTileOverlay URL to my local file store to make this happen, etc.
However, as my application's map only covers a small geographic area, I would like to have have the MapView display the standard Apple Map in such cases. When I overlay the map and set "canReplaceMapContent" to true, I just get a blank white space for map tiles that aren't present.
I don't really want to set canReplaceMapContent to FALSE, because most of the time a user will be using my (custom) map, so I wouldn't want the overhead of rendering the Apple map that would be completely covered.
Is there any way I can return a "nil" to a function or something to tell MapKit to not use the TileOverlay, and just use the regular Apple map instead?
No, but here's an idea: have two MKMapViews with the same frame, one with your custom map and canReplaceMapContent = YES and the other without and NO. You can hide one and show the other, transferring annotations if necessary, and you might be able to produce a convincing swap.

how to let user drop interactive pin/marker on one uiimage

Right now I am working on one application which needs to have an interactive image.
While the user is viewing this image, they should be able to drop pin/marker onto the image by tap any location on the image. Once a pin/marker is dropped on the image, user should be able to tap the pin/marker again to add some comments to the pin, delete this pin/marker or even some other operation.
Right now, I am using the MKOverlayView to hold my image and put the MKOverlayView into a MKMapView so that I can use customized annotations to do that. However, there are always some zooming issues when I limited the visible region of the view(Because I do not need the entire world map). More importantly, I find out that I cannot get rid of the leftbuttom legal link(I need to submit my app to app store. And Apple does not allow it.) Also, each time when I first load the app, I can definitely see the mapping is loading and the map grid. And I do not want user to see it.
So I am thinking to find some other ways. Can anyone provide me a more feasible way to implement it, like some similar project example or tutorial? Any help is appreciated.
Thanks

customizing info window for multiple markers

I have seen the google developers video on custom info window for google maps ios sdk and got it. But how to use it when we have multiple markers. In my application i have to point 10 place and have to use that custom infowindow
I got it, we just have to call the customInfoWindow class how many time we want with new set of parameters.
Not sure exactly if this is what the question was - but you can attach a piece of your own data to the marker using marker.userData. You can make this anything you want - an NSDictionary for example. In -markerInfoWindow:(GMSMarker *marker) you can retrieve the userData and based on that, you can decide what view you want to return. Make sure the userData contains sufficient data to decide what your view should contain and you are good to go.

Resources