I'm trying to build a web app showing satellite imagery on a map in the browser.
I have images like landsat retrieved from the Google Earth Engine API (python)
or from planet API.
I can show a Google Map by using the Google Map API (HTML or JS) or I can use another map API.
How can I show satellite imagery on any map in the browser?
As long as you match the projection of your satellite images to your map's projection, you can overlay the image on top of your map with top-left/bottom-right coordinates. If your image is too big, you might want to tile it to smaller images at different scales. Here are a few projects that you can take a look.
https://viewer.remotepixel.ca/ (code: https://github.com/RemotePixel/viewer.remotepixel.ca)
https://www.mapbox.com/
Related
I want to display parcel outlines or boundaries on the OpenStreetMap. But when I use OpenStreetMap dynamic map for address "10543 JERSEY RD, MILTON, FL,32583" (latitude: 30.620948, Longitude: -86.881137). It does not display any parcel outlines or boundaries. But some platforms like https://maps.mapwise.com/ display parcel outlines or boundaries on OpenStreetMap Map. So anyone can advise how I display parcel outlines or boundaries on any Static or dynamic map. (OpenStreetMap Maps, MapQuest Maps, Bing Maps, etc.).
Please advice. I am using the PHP framework Laravel to achieve it.
My guess: the background map is truly the OpenStreetMap, but the layer with boundaries does not come from OSM but rather from another source. Did you try exlporing the source code of the page?
Having said that, I need to add that OSM contains a lot of polygons (city boundaries, timezones, etc.) and you can explore them interactively. Have a look at this image:
If you open the map and click on the the "Query Features" button at bottom right, then click on the map and it will list all nearby and surrounding OSM elements at location of your click. I created this snapshot at this location.
I am building a web-page using Google maps js api. I need the map type which shows all 3D buildings view provided by Google earth, just like the Google's map application where you can see all 3D buildings in the earth view.
I don't want to use the Google earth API because it's deprecated.
Any way to achieve that?
Google seems to be silent about 3D features in Javascript API. Closest I can get to this are Styled Maps but nowhere does it specifically indicate 3D. Only Android implementations are available as of now.
At this moment, the javascript API generates 3d buildings in map-view, with no option to turn this off.
The google maps website shows 2d buildings, which includes housenumbers. This information seems more accurate than the 3d-buildings map-view. But the options to toggle between various map layers is a long standing omission in the javascript API.
I'm using google maps api v3 to add shapes and markers to a map
The I use google maps static map api to get the image of that map and print it
The problem is that with zoom 15 I see the whole area but I don't get all streets name of that area.
https://maps.googleapis.com/maps/api/staticmap?center=24.8147642107468,-107.375049591064&zoom=15&size=640x440&scale=2&format=png32&language=es&maptype=roadmap&markers=color:0xff0000|24.8165756517471,-107.376508712769&path=color:0xffffe1|weight:2|fillcolor:0xffffe1|enc:samvC~nlnS?{K}\s#aPqNyDkH}#aK|#aGzAcEdBiC`GeEeCuLlBwFpEr#hFuAl]ePjD~Bw#xJlAl_#pGlLeC`VmAh]{KX
link
With zoom 16 I get all streets name but the area doesn't fit in the image
https://maps.googleapis.com/maps/api/staticmap?center=24.8147642107468,-107.375049591064&zoom=16&size=640x440&scale=2&format=png32&language=es&maptype=roadmap&markers=color:0xff0000|24.8165756517471,-107.376508712769&path=color:0xffffe1|weight:2|fillcolor:0xffffe1|enc:samvC~nlnS?{K}\s#aPqNyDkH}#aK|#aGzAcEdBiC`GeEeCuLlBwFpEr#hFuAl]ePjD~Bw#xJlAl_#pGlLeC`VmAh]{KX
link
How can I resolve this?
Saludos
rubenc
Short answer: you can't.
As you have discovered, you can't use the staticmap api to get the image you want. So you have to do it another way. Request multiple images and stitch them together in whatever interface you are creating?
I am developing a web page which uses the Google Earth plugin. I would like to display the map like in the first image with the "Earth" and "Satellite/Map" view options like you can in Google Maps, or at least be able to just show the map in "Satellite/Map" view:
Currently this is what the view looks like:
Is this possible?
Yes, you can use the Google Maps V3 to switch between Google Maps and the Google Earth Plug-in.
The google-maps-utility-library-v3 can be used to make this easier.
You can see a working example here.
Alternatively you can simulate a reasonable map view buy just turning of the terrain and photo imagery and turning on the borders and roads layers in the Earth Plug-in. If you then lock this view to 'plan' it works well.
Using a KML file I can show Google Earth in website. Now, can anyone give me idea to implement following specification?
I need following buttons above the Google Earth plugin
a. User must be able to switch between map and earth.
b. User should be able to save and download the map or earth as image
So we have to use same KML file (that is used for google earth) to show google map. After that google earth or the google maps have to be saved as image.
As per i know,same kml will not work for google maps and google earth.Becuase, Google Earth kml is some what different to Google Maps kml.In Google Earth kml we need to declare <LookAt> that is not supported by Google Maps.Please have a look into the following url for Google Earth kml:
http://code.google.com/apis/kml/documentation/kml_tut.html
and the following url explains google maps kml:
http://econym.org.uk/gmap/kml.htm
Here we have to observe one more thing like we have <coordinates> in both cases.But ,the Projection is different in both cases.If we use same lat and lon for Google Earth and Google Maps we cannot able to get the correct result.So,you can use both kml but while passing coordinates from Google maps to Google earth,need to change the lat,lon projections and vice versa.
Hope this helps you :-)