Comments (19)
After the MapView
has been laid out, you can do like so:
with(mapView) {
angle = 15f
val centerX = scrollX + halfWidth
val centerY = scrollY + halfHeight
post {
scrollToAndCenter(centerX, centerY)
}
}
from mapview.
I'm trying to apply ReferentialData:
with(mapView) {
post {
scale = data.scale
setAngle(data.angle)
scrollToAndCenter(data.centerX.toInt(), data.centerY.toInt())
}
}
It rotates, scales, but not scrolls...
from mapview.
And it seems that it also moves to the top-left corner
from mapview.
I would check the values you have for data.centerX
and data.centerY
.
Typically, if those values are too small, it scrolls to the top left corner.
from mapview.
I found out that in:
override fun scrollTo(x: Int, y: Int) {
val (constrainedX, constrainedY) = gestureController.setConstrainedScroll(x, y)
super.scrollTo(constrainedX, constrainedY)
}
I got zeros in constrainedX, constrainedY.
from mapview.
Can you also explain when you're trying to restore the state of MapView? Is it on device rotation (and activity re-create?)
from mapview.
Ah, yes, the are small. Less than 1. It seems that they are between 0 an 1
from mapview.
I'm trying to restore ReferentialData just after configure
.
from mapview.
I'm just trying to save it and restore to open map on a previous location.
from mapview.
Do you know that the MapView has an automatic feature of state restore (angle, scale and scroll) on device rotation?
from mapview.
I'm trying to share the ReferentialData between three MapView's to save the cache. To able fast switching between maps without reloading.
from mapview.
from mapview.
If you look at the doc of ReferentialData
:
You can see that those values you have are in percent of the full width/height of your map.
from mapview.
Oh... ^_^ That's my fault...
from mapview.
I can't understand how to calculate real center with that percentage. Could you help me please?
from mapview.
from mapview.
from mapview.
Oh... this is so unobvious. I tried fullWidth/fullHeight and got the opposite situation, when viewport sticks to the right-bottom.
from mapview.
I did the combo! ^_^
fun MapView.applyReferentialData(config: MapViewConfiguration, data: ReferentialData) {
post {
scale = data.scale
setAngle(data.angle)
val centerX = config.fullWidth * data.scale * data.centerX
val centerY = config.fullHeight * data.scale * data.centerY
scrollToAndCenter(centerX.toInt(), centerY.toInt())
}
}
from mapview.
Related Issues (20)
- MarkerView is not removed from the MapView HOT 5
- rectangular tiles HOT 1
- scrollTo / scrollToAndCenter using different coordinates after scaling HOT 6
- Can you support drawing points? HOT 2
- Draw polygon HOT 1
- BitmapFactory: bitmap marked for reuse HOT 3
- Non-existent zoom on an overlay. HOT 21
- Clear memory HOT 2
- maker cant be moved as MapCompose HOT 1
- can you support Marker Drag? HOT 4
- Mini gaps between tiles HOT 2
- How to click or long click on map to add marker.
- Support for .png deep zoom map
- bitmap marked for reuse can't fit new bitmap error (100% reproducible) for Remote HTTP mapview HOT 5
- Possibility to zoom farther out? HOT 1
- Issue when setting compileSdkVersion to 34 HOT 2
- Offset/padding? HOT 7
- Can you add azimuth and map scale? HOT 1
- Setting minimum scale mode and zooming below FILL equivalent gives scaling issues HOT 3
- Best performance for many markers HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mapview.