Google Earth placemark exclusion zone - google-earth

I'm developing an application using the Google Earth plugin that involves a good amount of placemarks. I was wondering if there was way to draw a polygon (or something of the sort) to filter out all placemarks outside of the polygons boundaries.

Sure, you can draw a polygon, and then depending how you created your placemarks you could filter them out clientside (if created using javascript) or serverside (if loading via a dynamic KML).
Because Google Earth can display a lot of placemarks, and also because KML supports concepts like regionated network links to help you display the appropriate amount of placemarks as you zoom in or out, if you want more details it would be useful to know what you're trying to accomplish and why you think a polygon filter is the best way to work around whatever bottleneck or other limitation you think might exist.

Related

Drawing unity 3D Map based on real world map

I'm using mapbox SDK for unity. I'm trying to build a 3D map based on a real world map.
mapbox have some really nice features but all areas are not implemented yet, such as deserts in Saudi Arabia.
Does anyone have an idea about how can I elevate the desert into beautiful 3D map using mapbox?
Or do you know any other SDK for unity that can help me with this?
Please note that I need to use real world coordinates (Longitude,
Latitude) in my game, Pins will be inserted on map based on real world
coordinates.
Elevation Data Sources
There are multiple sources that provide elevation data. Bing Maps, Mapbox and ArgGIS (ESRI) are the most well-known services in that area. In rare cases like deserts some of them cover areas whereas the others do not. In your case if MapBox does not cover the Saudi-Arabian desert you can try out one of those other sources.
Mixed Data Sources
In order so solve your problem within MapBox you have to first extract data from a viable source and provide it to MapBox. Fortunately MapBox supports third-party data: MapBox: how to use custom data
There are also many third-party tools that you can use or learn from.
Have a look at this Asset from the Unity Asset Store for example: Online Maps v3
This asset allows you to keep your MapBox style, cache the tiles locally to save cost, use multiple elevation sources, create 3D-buildings in cities and fill in relevant data from the google api.
Missing Data
In order to have a globally working game you have to check multiple sources and use the one that has the elevation data that you want. Unfortunately, in some cases you won't find any data at all as it has not been mapped yet at all. In this case you have to exclude it from your game.

MKRoute shown in US only

I use MapManager to show the route. MKroute doesn't work in my country, but it does in US. Can anyone tell me if this only work in only particular countries or it does work everywhere?
The best i can tell is that, for a route, you need a destination and starting point.
When a coordinate preferably the current user position does not have a POI in map mostly due to the fact that apple maps is not completely mapped in your place. By which i mean its besides from showing some main areas and streets, you have nothing other then this feature will not work.
If you know what i mean, then the alternative solution is Google Maps. It has a vast resource and it has information about things apple does not.
But it comes with a price, you need to learn to use Google Maps API which at this point is documented for Objective-C only.
And the callout is somewhat static in Google Maps which you can customize but the hard way.

Indoor map creator

I have designed and developed couple of navigation apps using google API and osmdroid API for android powered devices. Now I am looking to create an Indoor navigation system using osmdroid API. But, in order to do so I need to create tiles similar to regular map tiles from an simple PNG file with naming convention similar to OpenStreetMap.
Please suggest me how to do this?
Cheers,
Susheel
You could design your indoor map using JOSM. Save it to a .osm file. Don't upload the data to OpenStreetMap unless it is a appropriate to do so (OpenStreetMap has some basic some indoor features, e.g. a highway=footway running through a shopping mall, but generally a lot of very detailed indoor stuff will be inappropriate for OSM) But...
With a .osm file you could then use one of the OpenStreetMap rendering tools to create a raster map, and chop it into tiles. For quick satisfaction I'd recommend Maperative, although I'm not sure how easy the last tile chopping step is. I've never done this with Maperative. Mapnik has a nice generate_tiles.py output, which will give you the tileset you want, but it's a bit tricky to set up in the first place.
Actually the last step is the main thing you're asking about. You can chop up any image into tiles. It may or may not be important to you that the tiles are geo-positioned in some meaningful way. For an old project I did a quick fudge solution using google tile cutter script, which is actually a wrapper around GDAL tools.
Have a look at the gdal library, and in particular gdal2tiles. This is a library designed to create maps from raster images, and serves exactly your purpose.
You can decide on a projection and what the bounds of your source image(s) are. The library allows you to reproject your image to the correct coordinate space.
It can also generate tiles at various zoom levels using gdal2tiles, either with or without reprojection.
Now you can check indoor rendering by drag and dropping OSM geojson data into https://app.openindoor.io web page.

Static maps with routing on iOS

Is there a way to have static maps on the iPhone, with either MapKit or a third-party framework? By this I mean fixed area of say, 5 sq miles, which can by zoomed/panned etc, but which doesn't require an internet connection to load the map.
Additionally, is it possible to get route directions, and draw them on the map?
You can of course always roll your own solution with CATiledLayer if the area you want to display is that small, but it's probably better and easier to have a look at routing frameworks like MapBox (http://mapbox.com/blog/introducing-mapbox-ios-sdk/), which provides offline support for iOS.
The MapKit framework doesn't offer offline maps currently.
It is possible to define an area on the maps, and lock the user into that area, but an internet connection is still required.
Maybe a more direct way to do what you want is to download a static image for the zone you are interested in and cache it, using the image of that map area to zoom and pan around in. Of course this would require an initial internet connection but that is really not such an obstacle, after all, one must have a connection to download your application.
You could also provide this image directly into your applications bundle, but you've not really told us much to conclude that the latter option is feasible.
As for routing, it's also not supported currently. You could however retrieve a list of waypoints from point A to B directly from the Google maps remote API - note you cannot do this with MapKit framework.
With these waypoints (which contain coordinates) and the current zoom level value, it's possible for you to plot these points and draw between each one in order to implement your own routing, this get a little ugly or maybe better to say "laggy" when the user begins to zoom in and out as it's only possible to know how to redraw your route when the user ends zooming (lifts their fingers from the screen), but of course like most things in programming, there is a solution to this which is, I feel out of scope for this question.
I hope this helps.

Can I use my own tiles in MapKit, instead of Google's?

I'm currently trying to decide wether to accept a client's proposal or not. Basically, I'm asked to create a MapView that displays markers at several locations on a map, with the additional requirement that the client's own map tiles are used instead of Google Maps'.
I do not know yet how the client stores their own map tiles, but I was assured that I'd be able to convert them into any format I'd need.
Is it possible to use different map tiles in MapKit's MapView?
Do you have good online literature about this? Links please?
If this is possible, I'd propably have to create a server that sends the files to the device.
How hard is it to create such a server? Is it just "setup apache, done." or is there more to it?
How hard, or time-consuming would both these things be, in relation to just setting up a normal MapView?
Thanks for your answers.
You can't use custom tiles with MapKit. You're limited to using the ones provided by Google.
It could be easier to create a "Google Maps-ish" web app that uses the custom titles and can be viewed on the iPhone through UIWebView?
Have you looked at alternate map frameworks on the iPhone? I know there is at least one open source map engine, also with tiles (that are not as good as the Google tiles, but hey).
A decent set of them is here:
Creating an IPhone Map application
The "easiest" way to do this within the Google Map framework is simply to map the client's map as a texture on top of the "ground." You can create textures at different resolutions, for different zoom factors. Then you won't need to do any special coding at all --- everything will just work.
The way you do this is with a KML region that maps to ground level.
See: http://earth.google.com/outreach/tutorial_region.html