joe.wang

Double tap on the map not work in the chrome of Nexus 7

Discussion created by joe.wang on Jun 17, 2014
Latest reply on Jun 30, 2014 by jeff.pace
Hi ,

I am stuck with a problem which is the double tap not working in the chrome of Nexus7.

Say you have code like below. please help to review it .

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <meta http-equiv="X-UA-Compatible" content="IE=7, IE=9,IE=10" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link href="http://js.arcgis.com/3.9/js/dojo/dojo/resources/dojo.css" rel="stylesheet">
    <link href="http://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css" rel="stylesheet">
    <link href="http://js.arcgis.com/3.9/js/esri/css/esri.css" rel="stylesheet">
    <script src="http://js.arcgis.com/3.9/"></script>
    <script>
        require(['dojo/_base/lang',
            'dojo/dom-construct',
            'dojo/dom',
            'dojo/_base/html',
            'esri/arcgis/utils',
            "esri/toolbars/draw",
            "/Scripts/AGIS/utils.js",
            'esri/InfoWindowBase', "dojo/has", "dojo/_base/sniff", "dojo/domReady!"
        ], function (lang, domConstruct, dom, html, esriUtils, Draw, utils, infoWindow, has,d) {

            var mapDiv = html.create('div', {
                id: "map",
                style: lang.mixin({
                    position: 'absolute',
                    backgroundColor: '#EEEEEE',
                    overflow: 'hidden'
                }, utils.getPositionStyle({
                    "left": 0,
                    "top": 0,
                    "right": 0,
                    "bottom": 0
                }))
            });

            html.place(mapDiv, "agis-layout-manager");
            var b = navigator.userAgent;
            console.log(b);
            alert(b);

            var a = b.match(/Android\s+(\d+\.\d+)/i);
            a && alert("a[0]=" + a[0]);
            a && alert(parseFloat(a[0]));
            a && alert("a[1]=" + a[1]);
            a && alert(parseFloat(a[1]));
            a && alert("a[2]=" + a[2]);
            a && alert(parseFloat(a[2]));

            var c = b.match(/(iPhone|iPad|CPU)\s+OS\s+(\d+\_\d+)/i);
            c && alert("c[0]=" + c[0]);
            c && alert("c[1]=" + c[1]);
            c && alert("c[2]=" + c[2]);

            alert('d("esri-iphone") =' + d("esri-iphone"));
            alert('d("esri-android") =' + d("esri-android"));
            alert('d("esri-touch") = ' + d("esri-touch"));//true
            alert('d("esri-pointer") = ' + d("esri-pointer"));//undefined

            var mapDef = esriUtils.createMap("8e900bdba72f451cbf5141a9a6073532", "map");

            mapDef.then(lang.hitch(this, function (response) {
                var map = response.map;
                if (map.loaded) {
                    _initMap(map);
                } else {
                    dojo.connect(map, "onLoad", function () {
                        _initMap(map);
                    });
                }
            }));

            var _initMap = function (map) {
                //map.enableDoubleClickZoom();
                alert("map.isDoubleClickZoom is " + map.isDoubleClickZoom);
                alert("map.isPan is " + map.isPan);

            };
        });
    </script>
</head>
<body class="claro">
    <div id="main">
        <div style="position:relative; margin:0; padding:0; width:100%; height:100%;">
            <div style="position:relative;width:100%; height:100%;z-index:0;" id="agis-layout-manager">

            </div>
        </div>
    </div>

</body>
</html>


Could someone please help me out ? Thanks.


Best Regards
Joe




******Updated*********

I test above script in below devices. Please review it.

1. Surfari in IPad2 (Double tap works fine.).
2. IE11 in Surface (Double tap not works) (and Why the feature esri-touch test is false? and the feature esri-pointer test is true.).
3. Chrome in Window7 computer(Mouse double click works).
4. Chrome in Nexus7 (Double tap not works).

Outcomes