Just wanted to make people aware of an issue with the 3.14 api and Street View
The 3.14 api introduces a new css element in esri.css
.map .container .layersDiv > div { pointer-events: none; }
This breaks google street view if you have it embedded in your map div as a child, as it uses pointer-elements
As a workaround, when street view is visible, loop through the elements and turn pointer-events on
array.forEach(query('.map .container .layersDiv > div'), function(node){ domStyle.set(node, 'pointerEvents', 'auto'); });
and then when you close street view, turn them back off
array.forEach(query('.map .container .layersDiv > div'), function(node){ domStyle.set(node, 'pointerEvents', 'none'); });
Jeff,
Just FYI, you are violating Googles TOS if you are adding Google Street View as a child window to any other product than Google maps.
Yeah, I'll second this. Google is very strict with their TOS... Can't even show points from their geocoding API unless it's on a Google Map, and their free service is only for prototyping.
As far as enforcement, you may fly under the radar for awhile, but I would not recommend that!
I dont believe I am. I am adding a google map to my map, and then activating street view in that window.
In addtion Google Maps/Google Earth APIs Terms of Service | Google Maps APIs | Google Developers
Street View is allowed outside a Google Map
and
9.1 Free, Public Accessibility to Your Maps API Implementation.
9.1.1 General Rules.
I do think I am within the terms, even if its borderline
There may be some creative ways to stay within TOS. I think they are still working-out what their developers say and what businesses and users want from their APIs since adding paid plans a few years back. For us, at least, there were several deal breakers in using Google Maps for Work - Google was very inflexible in changing their terms. I guess you can do that when you are Google.
Jeff,
http://www.google.com/permissions/geoguidelines.html#streetview
First, review the Google Maps and Earth Permissions Basics, which apply to all uses of our maps. Then continue with the guidance in this section.
Street View imagery may be incorporated into your project if 1) the imagery comes directly from the Google Maps API, Google Maps or Google Earth; or 2) the imagery is embedded or linked on your website using the HTML and URL provided on Google Maps. These solutions ensure that if Google edits or removes imagery in response to user requests, these changes will be reflected in your project as well.
If you have an academic and non-commercial request for Street View imagery that does not qualify under these guidelines, you may contact us at streetview-academic@google.com with the details of your project to request permission.
No other uses of Street View imagery are allowed. Note that some imagery in Street View is provided by entities other than Google, as indicated in its photo credits; in those instances permission must be obtained from the third party.
If your project meets the requirements above, no explicit permission is required for your project. We are unable to sign any letter or contract specifying that your project has our explicit permission.
So you may be right, I thought I had read something about not being able to embed or have SV as a child window of a map other than Google Maps, but I can't seem to find that right now.
One thing that really worried us - Google (and the reseller) would not send legal contract documents for any TOS agreements; they would only point to a URL for us to peruse on the web.
Of course, that means Google could change their TOS at any moment... Just something to keep in mind. In essence, don't become dependent on a Google process... you never know if/when their terms will change!
Thanks for the links Robert.
I believe I am meeting both 1 and 2.
I have google maps in my application via the api. Street View is only accessible view google maps.
The only question I have is if embedding google maps is allowed. I might have to reach out to google.
That being said, it is a value add, not a critical work function. Removing it is trivial.