Не работает Получите x и y пиксель касания в версии 4.2.0 до максимума Carto mobile SDK - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу получить пиксели x и y карты при касании, но не работает в версии 4.2.0 и выше. и он работает в версии 4.1.3 и старше.

в версии 4.1.3 этот код работает:

            @Override
            public boolean onRasterTileClicked(RasterTileClickInfo clickInfo) {
                MapTile mapTile = clickInfo.getMapTile();
                Projection proj = rasterLayer.getDataSource().getProjection();
                double projTileWidth = proj.getBounds().getDelta().getX() / (1 << mapTile.getZoom());
                double projTileHeight = proj.getBounds().getDelta().getY() / (1 << mapTile.getZoom());
                double projTileX0 = proj.getBounds().getMin().getX() + mapTile.getX() * projTileWidth;
                double projTileY0 = proj.getBounds().getMin().getY() + ((1 << mapTile.getZoom()) - 1 - mapTile.getY()) * projTileHeight;
                double normTileX = (clickInfo.getClickPos().getX() - projTileX0) / projTileWidth;
                double normTileY = (clickInfo.getClickPos().getY() - projTileY0) / projTileHeight;
                Log.d("", "Clicked at: " + (int) (normTileX * 256) + ", " + (int) (normTileY * 256));
                return true;
            }
        }); ```

1 Ответ

0 голосов
/ 24 апреля 2020

Можете ли вы попробовать последнюю версию R C (4.3.0-r c .2) из ​​https://github.com/CartoDB/mobile-sdk/releases? Возможно, вы решили эту проблему: https://github.com/CartoDB/mobile-sdk/issues/354

...