0

モバイル JS (qooxdoo) アプリ内で openlayers描画サンプルを使用していますが、描画カーソルがビューポートの上にあることを除いてすべて正常に動作するため、描画できますが、カーソルが表示されず、描画後にしか表示されません。下へスクロール。

このqooxdoo の例をベースとして使用しました。また、openlayers の例のすべての CSS ルールを qooxdoo スタイルに追加しました。

CSSの位置の問題のようですが、見つけられないようです。

どんな助けでも大歓迎です。

     /**
     * Loads JavaScript library which is needed for the map.
     */
    _loadMapLibrary: function() {

        var self = this;
        var req = new qx.bom.request.Script();

        var options = {
            singleTile: true,
            ratio: 1,
            isBaseLayer: true,
            wrapDateLine: true,
            getURL: function() {
                var center = self._map.getCenter().transform("EPSG:3857", "EPSG:4326"),
                    size = self._map.getSize();
                return [
                this.url, "&center=", center.lat, ",", center.lon, "&zoom=", self._map.getZoom(), "&size=", size.w, "x", size.h].join("");
            }
        };

        req.onload = function() {
            var vector = new OpenLayers.Layer.Vector('Vector Layer', {
                styleMap: new OpenLayers.StyleMap({
                    temporary: OpenLayers.Util.applyDefaults({
                        pointRadius: 16
                    }, OpenLayers.Feature.Vector.style.temporary)
                })
            });

            // OpenLayers' EditingToolbar internally creates a Navigation control, we
            // want a TouchNavigation control here so we create our own editing toolbar
            var toolbar = new OpenLayers.Control.Panel({
                displayClass: 'olControlEditingToolbar'
            });
            toolbar.addControls([
            // this control is just there to be able to deactivate the drawing
            // tools
            new OpenLayers.Control({
                displayClass: 'olControlNavigation'
            }), new OpenLayers.Control.ModifyFeature(vector, {
                vertexRenderIntent: 'temporary',
                displayClass: 'olControlModifyFeature'
            }), new OpenLayers.Control.DrawFeature(vector, OpenLayers.Handler.Point, {
                displayClass: 'olControlDrawFeaturePoint'
            }), new OpenLayers.Control.DrawFeature(vector, OpenLayers.Handler.Path, {
                displayClass: 'olControlDrawFeaturePath'
            }), new OpenLayers.Control.DrawFeature(vector, OpenLayers.Handler.Polygon, {
                displayClass: 'olControlDrawFeaturePolygon'
            })]);

            var osm = new OpenLayers.Layer.OSM();
            osm.wrapDateLine = false;

            map = new OpenLayers.Map({
                div: 'googleMap',
                projection: 'EPSG:900913',
                numZoomLevels: 18,
                controls: [
                new OpenLayers.Control.TouchNavigation({
                    dragPanOptions: {
                        enableKinetic: true
                    }
                }), new OpenLayers.Control.Zoom(), toolbar],
                layers: [osm, vector],
                center: new OpenLayers.LonLat(0, 0),
                zoom: 1,
                theme: null
            });

            // activate the first control to render the "navigation icon"
            // as active
            toolbar.controls[0].activate();
        }

        req.open("GET", this._mapUri);
        req.send();
    },
4

1 に答える 1

0

カーソルのクラスのz-Indexを確認してください。最善の方法は、ChromeのデバッガコンソールまたはFirebugを使用してz-Indexを変更することです。

アプリケーションの実例はありますか?

于 2013-01-08T12:23:15.740 に答える