Is there is a way to upload my own panoramic images of our hours/building using Google Street View API, then use Google Street View Engine to navigate throw them?
Yes, you need to make custom street view panoramas: https://developers.google.com/maps/documentation/javascript/streetview#CustomStreetView
Here's a great sample of someone who has done this: http://www.gta4.net/map/
I'm doing a similar project for a large building.
First, you need some way to generate a 360 degree panorama for the images. I've adapted hugin to be used in a set of bash scripts to generate the panos automatically in a Linux box. So, I just upload the images to a folder, execute the script with the folder location and number of images per panorama and leave it alone. Depending on the number of images you have per panorama, expect to wait 5-45 minutes for each panorama.
Second, check out the example link for how to use JS and StreetView. I think your task will be easier as you can probably write all your locations inside the JS file rather than relying on database calls and parsing.
Third, make sure your usage is under the limits set by the API if you're not paying for the service. If you go over the daily limit, the tour won't be available.
Related
My friend has a website named as http://jobifly.com .Now the issue is that when you enter the site you will see Google maps on the navigation panel and that shows the jobs which are available, but its Pin-pointing them one by one, can't it show all of them together?
Awaiting Response..
Regards,
Zain Sohail
The problem with the page is that all the locations will be gecoded when the page loads. To avoid the OVER_QUERY_LIMIT this will be done with a delay.
To show them together you must wait until all locations have been geocoded.
So your friend may either:
use the current geocoding-strategy and initialize the map when all addresses have been geocoded(I don't think that it is an option for your friend)
or store the LatLng's somewhere when they have been geocoded, so he can use them directly without a delay (Note: this is only permitted for up to 30 days)
It's also possible to use a FusionTable to store these data, the geocoding would be done automatically there.
Another option to be able to store the LatLng's permanent: give the users that offer a job a map where they can select the location manually by clicking on the map, the returned LatLng may be stored without restrictions.
here goes a simple question:
I've got a showKmz() function which receives an URL belonging to a KML/KMZ file and which goes straight ward to a fetchkml() method, after that it gets appended to my Google Earth instance.
Now I want to recover the coordinates of this fetched KML/KMZ file and use them to immediatelly after load a custom ico I want to put exactly on the same location of the KML/KMZ file I fetched.
The reason for that is that I want to show this files on Google Earth with their clicable icon despite of whatever icon those KML/KMZ could have by default...
Does anybody knows a way to either achieve the goal of retrieving the coordinates or even better: a more direct way to make this custom icon superposing I want?
Thanks in advance!!
Bye!!
From here
http://code.google.com/apis/earth/documentation/kml.html
When getting a KML/Z file with fetchKml, you have in the callback an option to interact with the KMLFeatures you've obtained before appending them to the globe. There could be several items in that file which have coordinates, as well as several icons. So it sounds like you want to get the features, iterate over them, and insert an IconStyle for each (or replace existing IconStyle) to have it render with the Icon you want. You don't have to place a new feature at the same location as the existing ones.
I use google.maps.KmlLayer('http://mywebsite.com/my.kml') to set objects from KML file. It is working, but when I change kml and try to refresh website...I still have the same state as before...without my changes. When I change file name to my2.kml - it is working... Are google caching my kml? What I need to do to update changes with the same kml file name?
The Google servers do in fact cache KML data. Because the Google servers are processing your KML and not your browser, clearing your cache will not help. This is why changing the file name works. In order to prevent caching, add a cache-buster to your KML URL that you create the KML layer with, such as a random number or the current timestamp. http://mywebsite.com/my.kml?rev=323626252346 where the value of rev changes every time you refresh the page would work. You could also write Javascript so that you can click a button that updates the URL on the KML Layer object, removing the need to refresh the page.
Yes, google servers cache the KML data. So avoid this caching, change the kml url to
"http://www.kmlsource.com/foo.kml?dummy=" + (new Date()).getTime();
This will always generate a new website and the caching problem will be solved.
I would like to add a strong caveat to the advice to add cache-busting to the KML URLs: please note that if you use a timestamp like (new Date()).getTime(), this means that Google will try to fetch the KMLÂ file from your server almost every time a user tries to display your KML layer.
Two consequences:
the bandwidth and CPU used by simultaneous file uploads can get very high if you have a peak of visitors on your website (this will of course also depend on the size of your KML);
this in turn can add big delays to show the KML on your map.
A better strategy would be to only add a cache-busting parameter when you know the KML has changed. Maybe the browser could receive a hash of your KML file from your server, or a version number of the KML, and add that as an extra parameter to the request. You'd need to recompute the hash, or generate a new version number, every time the KML file got updated.
A lazier, far less efficient idea, would be for the server to generate a new token at regular intervals (e.g. once every 10 minutes, make it a reasonable period for your use-case), and have the browser use that token when it needs to display the KML file.
A much worse idea, but still a little bit better than using a browser-side millisecond timestamp to do cache-busting, is to only change the parameter at most once every 10 minutes on the browser side.
For example, instead of (new Date()).getTime(), you could use something like: Math.floor((new Date()).getTime()/1000/(10*60))*(10*60)
Note that this is a pretty bad solution, because this will still be computed based on the end-user's computer clock. If the end-users have set up incorrect times on their machines, many different timestamps can still be generated within a short period of time.
One of the advantages of using KML layers in Google Maps JavaScript API is that they get cached on Google side: if you don't need that, you might be better served with layers built directly on the browser-side. E.g. use GeoJSON. There is even a doc for that for the Google JS API: https://developers.google.com/maps/documentation/javascript/datalayer#load_geojson
I am trying to get into the google maps api v3 to display store locations.
All non-flash tutorials for google maps, which I have seen so far, create an array with the latitude and longitude in either java script part of the html or in a seperate js file.
However, then I list all coordinates in plain text in the requested html site.
Is there a way to hide the exact location in a seperate file or layer, which is not accessible to the user? I would like to display the locations with a broad view and would like to keep the exact locations hidden.
Thank you for any suggestions.
I do not know if it is possible to do, but you can try create external PHP script that will returns JSON output with all Google Maps data.
In the beggining of the script you can check referer and it is correct (equals to the site script) show that data - otherwise, print some error, etc.
In JavaScript load whole data with Ajax.
However there is no way to permanently hide data from user - it is always possible to write some script that will export them from Google Map (for example using FireBug/Chrome console).
I found this site
http://www.shutterfly.com/documentation/api_OrderImage.sfly
but there are no examples of actually walking through the whole process. Does anyone have any good documentation on using this API to take a local photo and allow someone to order a print via shutterfly?
I went through these steps:
Sign up for an account
Sign up as a developer
Create an application (I called mine Test). Note the generated Application Id and Shared Secret
The Shutterfly API page has a list of references for various Domain-specific APIs:
Address Book
Album Data
Folder Data
Go To Shutterfly UE
Image Upload
Interactive Sign-in
Image Request
Order
Pricing
Seamless Sign-in
User Data
User Authentication
Each uses RESTful principles. The documentation looks pretty comprehensive to me, if you need some background, here's links for RESTful APIs and ROME you may find useful
There is also an API Explorer section on the same page that allows you to test the methods via a form on their site. For example this form for CRUD operations on the album data.
Based on your comment, for your requirements, you would:
Use the Album GET to list albums, then get the data for a specific album.
Use the Image Get request to retrieve the image data, so your friend can verify the image(s) they want to purchase.
Authenticate the user
Use the Pricing POST request to get the estimated pricing for the image.
User the Order POST to submit the order over https
Update: Found a page describing using a Greasemonkey script which adds Shutterfly print ordering capability to Flickr. This might provide the basis for a solution.
For Reference:
The original link above is a middle step of the Shutterfly Open API ordering procedure.
The whole process goes through a series of steps allowing you to control much more than just pushing photos into somebody's album in Shutterfly.
With this process, your application can actually carry out the entire procedure of:
specifying the images and the sizes and quantities, or other products
calculating shipping, taxes, and totals
paying, and
launching the processing
It also includes the ability to see when the packages will be delivered and arrive.
Thus if you have a solid application for mapping your images onto paper and products, you can pretty much control the entire process.
Once the order is submitted, it will appear on the user's account at Shutterfly who the order was associated with.
Kudos to Shutterfly for making such a powerful tool! It would be great if other printing facilities had similar tools.