Comments (10)
You can use the onTapListener
callback on the map:
mapbox-maps-flutter/example/lib/gestures.dart
Line 128 in 308d25d
from mapbox-maps-flutter.
@geisterfurz007 @LjubiTech-Maxko thanks !!! 👍🏼
from mapbox-maps-flutter.
Again: You receive map coordinates from the callback, not screen coordinates. You do not have to convert anything. The class is called ScreenCoordinate but that is not accurate. Do yourself and others in the thread a favour and print the value you get from the callback to verify this and understand how to continue to work with them.
from mapbox-maps-flutter.
@geisterfurz007 its not giving the exact latitude and longitude of the tapped location in the map its returning the coordinates of the screen.
from mapbox-maps-flutter.
@Shiba-Kar That's what the returned class wants you to believe. If you print the values, you should see globe coordinates. If that is not the case, you can always convert between screen and map coordinates with the respective methods on MapboxMap
.
from mapbox-maps-flutter.
@Shiba-Kar That's what the returned class wants you to believe. If you print the values, you should see globe coordinates. If that is not the case, you can always convert between screen and map coordinates with the respective methods on
MapboxMap
.
How to convert between screen and map coordinates with the respective methods on
from mapbox-maps-flutter.
MapboxMap#coordinateForPixel
MapboxMap#pixelForCoordinate
from mapbox-maps-flutter.
import 'package:mapbox_maps_flutter/mapbox_maps_flutter.dart';
import 'package:turf/turf.dart' as turf;
// Callback for MapWidget onTapListener
Future<void> onTapListener(ScreenCoordinate coord) async {
// coord is actually map coordinates, and conv is converted value to actual screen coordinates.
final ScreenCoordinate conv = await _mapboxMap!.pixelForCoordinate(
turf.Point(
coordinates: turf.Position(
coord.y, coord.x,
),
).toJson(),
);
}
from mapbox-maps-flutter.
- Callback for MapWidget onTapListener
Future _addPin(ScreenCoordinate screenCoordinate) async {
var conv = await _mapboxMap.coordinateForPixel(screenCoordinate);
final coordinates = conv['coordinates']! as List<Object?>;
var x = coordinates.map((e) => e as num).toList();
var position = Position.fromJson(x);
await _positionMarker(
"totempole", "assets/images/user_totem.png", position);
}
- Place the marker on the map
Future _positionMarker(
String name, String assetName, Position position) async {
final ByteData bytes = await rootBundle.load(assetName);
var list = bytes.buffer.asUint8List();
var x = await _mapboxMap.annotations.createPointAnnotationManager();
var xx = await x.create(
PointAnnotationOptions(
image: list,
geometry: Point(coordinates: position).toJson(),
),
);
}
Does not place the marker where the tap is registered it is positioned very off from the tap place !!.
from mapbox-maps-flutter.
@geisterfurz007 ScreenCoordinate
confused me !!. yes it works as it should .
{x: 43.59772105745384, y: 52.233343976845674}
from mapbox-maps-flutter.
Related Issues (20)
- crash on iphone 15 pro, MTLTextureDescriptor has width of zero. HOT 9
- iOS 17 Memory Leak HOT 6
- iOS 17 Cannot properly build release version HOT 4
- Error when use MapboxOptions.setAccessToken('xxxxxx') HOT 1
- android crash HOT 1
- Is there a way to manipulate the location puck to snap to roads? HOT 2
- Can't focus on puck on iOS HOT 2
- GLTF models import to map
- Android Attribution Dialog Issue: Fails to Open Browser Upon Selection HOT 2
- How to get the coordinates of center of Map screen? HOT 2
- No such module 'MapboxCommon_Private' HOT 3
- iOS: LineLayer only fully renders at certain zoom levels HOT 1
- accessing Telemetry Settings cause app crash HOT 2
- Style layers influenced by the light settings in Mapbox Standard HOT 3
- Exception thrown after calling `dispose()` on MapboxMap HOT 8
- getStyleImage & hasStyleImage methods not responding HOT 7
- iOS crash - Delegate must respond to locationManager:didFailWithError: HOT 3
- Transparent background for the map HOT 1
- Clustering Annotations HOT 4
- Bug while in Debug Mode with Point Annotation HOT 1
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 mapbox-maps-flutter.