{ "id": "150649", "key": "TIMOB-19975", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2015-08-24T13:42:49.000+0000", "priority": null, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:55:55.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [], "description": "When can we get the touch events in the Map module? I want to be able to drag/pan the map on my app, and use an event that fires at the START of the drag/pan. Currently, the \"regionchanged\" event is the only event fired and it is at the END of the drag/pan of the map.\r\n\r\nFor the use case/purpose of my request, please refer to the location sharing feature on the whatsapp and telegram apps where the user starts panning the map, and the pin lifts up, and when the user stops panning, the pin drops to the center again. Currently, it isn't possible to create because of lack of touch events as far as I know. I'm sure there would be other use cases that could benefit from the touch events on the map.", "attachment": [], "flagged": false, "summary": "Need touch events for Map Module", "creator": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "environment": null, "comment": { "comments": [ { "id": "360968", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Related Q&A:\r\nhttps://community.appcelerator.com/topic/3083/need-touch-events-for-map-module/3", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-08-24T18:25:57.000+0000", "updated": "2015-08-24T18:25:57.000+0000" }, { "id": "360980", "author": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "body": "I want to add one more request to the same ticket as it is another typical use case for map module:\r\n\r\nThere should be a method to return a static image of the map for the specified coordinates. Google Maps API has the capability and it seems the Apple Mapkit also has the feature now. This request is more urgent and easier to implement, I'd hope.\r\n\r\nJust want to point out that the \"toImage()\" method isn't good enough. I'm trying to use it, and although it works for a previously loaded map, it doesn't work at all if I only have the coordinates in the code and want to get the image in the background without loading the map view itself.\r\n\r\nThanks.\r\nParijat.", "updateAuthor": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "created": "2015-08-24T19:59:49.000+0000", "updated": "2015-08-24T20:01:35.000+0000" }, { "id": "361041", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~parijatsahai] could you create a separate ticket for that other feature request?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-08-25T05:59:19.000+0000", "updated": "2015-08-25T05:59:19.000+0000" }, { "id": "361044", "author": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "updateAuthor": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "created": "2015-08-25T06:06:34.000+0000", "updated": "2015-08-25T06:06:34.000+0000" }, { "id": "361853", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "For the \"start of the drag event\", there is already an event on the mapView called {{pinchangedragstate}}, which has {{oldState}} and {{newState}} properties that return one of the {{ANNOTATION_DRAG_STATE_*}} constants. Therefore, can we close this?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2015-09-01T00:01:49.000+0000", "updated": "2015-09-01T00:01:49.000+0000" }, { "id": "388221", "author": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "body": "No, the pinchangedragstate event is not what I'm referring to - in this case, I want to drag the map around. The \"pinchangedragstate\" event occurs only if I interact with the pin itself.", "updateAuthor": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "created": "2016-06-13T19:43:04.000+0000", "updated": "2016-06-13T19:43:04.000+0000" }, { "id": "388231", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Thank you! We have some global View-events for that ({{touchstart}}, {{touchmove}} and {{touchend}}). Did you try those? They should already be available on iOS and Android. If you think of something else, a link to the native implementation would help to tackle it more fast. Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-13T20:41:33.000+0000", "updated": "2016-06-13T20:41:33.000+0000" }, { "id": "388285", "author": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "body": "The Module documentation does not show the events that you mentioned, so I haven't tried those. How will those events help achieve the use case that I described earlier? How could one raise the pin, move the map around and drop the pin after moving the map and return the new location that the pin was dropped at? Again, I refer you to the map feature implemented by apps such as whatsapp etc.\r\n\r\nAlso, what do you mean by \"a link to the native implementation\"? Would there be an enhancement to expose certain events and methods that are native, or do you expect the developers to modify the module code themselves to achieve such features? The feature I have requested I believe is a very common feature that everyone could use and should be standard in the module.", "updateAuthor": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "created": "2016-06-14T13:17:48.000+0000", "updated": "2016-06-14T13:17:48.000+0000" }, { "id": "388289", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey [~parijatsahai],\r\n\r\nyou don't have to implement it yourself. I requested a link to the native documentation / functionality to actually see some background information on this. You are saying it's a common behavior on other Apps, may you be able to make a quick screen video to demo that? I'm just sorting things out before rushing into it. Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-14T14:56:09.000+0000", "updated": "2016-06-14T14:56:09.000+0000" }, { "id": "388291", "author": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "body": "Here is the video of the feature I am talking about (expires in 48 hrs, so please view it ASAP):\r\n\r\nhttp://expirebox.com/download/3b54cd9c7f62296877fd12f2c701a4d6.html", "updateAuthor": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "created": "2016-06-14T15:06:37.000+0000", "updated": "2016-06-14T15:06:37.000+0000" }, { "id": "388294", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Alright, but that is the functionality we already have, right? Just set the {{draggable}} property on the annotations to true and you see exactly that behavior. So when you see it, the map is not moving, but the annotation does and so the (visible) region changes. See [this|http://docs.appcelerator.com/platform/latest/#!/api/Modules.Map.Annotation-property-draggable] documentation about that. Please confirm, thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-14T15:21:39.000+0000", "updated": "2016-06-14T15:21:39.000+0000" }, { "id": "388300", "author": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "body": "Not really. Please review the video carefully. You'll notice that the map is moving, not the annotation. I am dragging the map, not the annotation. Hence what I need is touch events on the map itself so that when the map is dragged around, the touchend event should return the location of the \"center of map\" annotation (different from fixed annotations). With the current module, I can't find a way to easily implement this feature. I am currently using the regionchanged event and manually moving the annotation and it is clunky at best and nowhere nearly as slick as the native implementation that you see on the video.", "updateAuthor": { "name": "parijatsahai", "key": "parijatsahai", "displayName": "Parijat sahai", "active": true, "timeZone": "America/New_York" }, "created": "2016-06-14T16:23:30.000+0000", "updated": "2016-06-14T16:23:30.000+0000" } ], "maxResults": 13, "total": 13, "startAt": 0 } } }