javascript 3.14 issue with Google Street View

3402
8
09-09-2015 06:57 AM
JeffPace
MVP Alum

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');  
});
0 Kudos
8 Replies
RobertScheitlin__GISP
MVP Emeritus

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.

0 Kudos
ChrisSmith7
Frequent Contributor

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!

0 Kudos
JeffPace
MVP Alum

I dont believe I am.  I am adding a google map to my map, and then activating street view in that window.

0 Kudos
JeffPace
MVP Alum

In addtion Google Maps/Google Earth APIs Terms of Service  |  Google Maps APIs  |  Google Developers

  1. No use of Content without a Google map. Unless the Maps APIs Documentation expressly permits you to do so, you will not use the Content in a Maps API Implementation without a corresponding Google map. For example, you may display Street View imagery without a corresponding Google map because the Maps APIs Documentationexpressly permits this use.

Street View is allowed outside a Google Map

and

9.1 Free, Public Accessibility to Your Maps API Implementation.

9.1.1 General Rules.

  1. Free access (no fees). Subject to Section 9.1.2 (Exceptions), your Maps API Implementation must be accessible to the general public without charge and must not require a fee-based subscription or other fee-based restricted access. This rule applies to Your Content and any other content in your Maps API Implementation, whether Your Content or the other content exists now or is added later.

I do think I am within the terms, even if its borderline

0 Kudos
ChrisSmith7
Frequent Contributor

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.

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

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.

0 Kudos
ChrisSmith7
Frequent Contributor

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!

0 Kudos
JeffPace
MVP Alum

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.

0 Kudos