{ "id": "113477", "key": "TIMOB-13750", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2017-07-21T05:38:48.000+0000", "created": "2013-04-28T15:24:57.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "android", "mapv2" ], "versions": [], "issuelinks": [], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-07-21T05:38:53.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "[Android Google Map v2 Module\r\nhttps://github.com/appcelerator/titanium_modules/tree/master/map].\r\nIf I use the Run command from Studio to build and example application for an Android Device, Current Location button doesn't work. Nothing happened.\r\n\r\nexpected result : \r\nAfter touch current location button on right top map, we can see current position on the map.\r\n\r\n\r\ntested source (example/app.js in module):\r\n{code:javascript}\r\n\r\nvar MapModule = require('ti.map');\r\n\r\n\r\n\r\nvar win = Ti.UI.createWindow();\r\nvar table = Ti.UI.createTableView();\r\nvar tableData = [];\r\n\r\nvar multiMapRow = Ti.UI.createTableViewRow({title: 'Multi Map'});\r\ntableData.push(multiMapRow);\r\nmultiMapRow.addEventListener('click', function(e) {\r\n multiMapTest();\r\n});\r\n\r\n\r\nvar annotationRow = Ti.UI.createTableViewRow({title:'AnnotationTest'});\r\ntableData.push(annotationRow);\r\nannotationRow.addEventListener('click', function(e) {\r\n annotationTest();\r\n});\r\n\r\n\r\nvar routeRow = Ti.UI.createTableViewRow({title:'Routes Test'});\r\ntableData.push(routeRow);\r\nrouteRow.addEventListener('click', function(e) {\r\n routeTest();\r\n});\r\n\r\n\r\ntable.setData(tableData);\r\nwin.add(table);\r\nwin.open();\r\n\r\n\r\n\r\n\r\n/************************************************************************************/\r\n/************************************************************************************/\r\n\t\t\t\t\t\t\t\t\t//Multi Maps\r\n/************************************************************************************/\r\nfunction multiMapTest() {\r\nvar win = Ti.UI.createWindow({fullscreen: false});\r\n\r\nvar map1 = MapModule.createView({\r\n\tuserLocation: true,\r\n\tmapType: MapModule.NORMAL_TYPE,\r\n\tanimate: true,\r\n\tregion: {latitude: -33.87365, longitude: 151.20689, latitudeDelta: 0.1, longitudeDelta: 0.1 }, //Sydney\r\n\theight: '50%',\r\n\ttop: 0,\r\n\tleft: 0,\r\n\twidth: '50%'\r\n});\r\nvar map2 = MapModule.createView({\r\n\tuserLocation: true,\r\n\tmapType: MapModule.NORMAL_TYPE,\r\n\tanimate: true,\r\n\tregion: {latitude: -33.87365, longitude: 151.20689, latitudeDelta: 0.1, longitudeDelta: 0.1 }, //Sydney\r\n\theight: '50%',\r\n\ttop: 0,\r\n\tright: 0,\r\n\twidth: '50%'\r\n});\r\nvar map3 = MapModule.createView({\r\n\tuserLocation: true,\r\n\tmapType: MapModule.NORMAL_TYPE,\r\n\tanimate: true,\r\n\tregion: {latitude: -33.87365, longitude: 151.20689, latitudeDelta: 0.1, longitudeDelta: 0.1 }, //Sydney\r\n\theight: '50%',\r\n\tbottom: 0,\r\n\tleft: 0,\r\n\twidth: '50%'\r\n});\r\nvar map4 = MapModule.createView({\r\n\tuserLocation: true,\r\n\tmapType: MapModule.NORMAL_TYPE,\r\n\tanimate: true,\r\n\tregion: {latitude: -33.87365, longitude: 151.20689, latitudeDelta: 0.1, longitudeDelta: 0.1 }, //Sydney\r\n\theight: '50%',\r\n\tbottom: 0,\r\n\tright: 0,\r\n\twidth: '50%'\r\n});\r\n\r\nwin.add(map1);\r\nwin.add(map2);\r\nwin.add(map3);\r\nwin.add(map4);\r\nwin.open();\r\n}\r\n\r\n\r\n/************************************************************************************/\r\n/************************************************************************************/\r\n\t\t\t\t\t\t\t\t\t//ANNOTATIONS\r\n/************************************************************************************/\r\nfunction annotationTest() {\r\nvar win = Ti.UI.createWindow({fullscreen: false});\r\nvar anno = MapModule.createAnnotation({latitude: -33.87365, image: 'map_pin.png', longitude: 151.20689, title: \"Sydney\", subtitle: \"Sydney is quite chill\", draggable: true});\r\nvar anno2 = MapModule.createAnnotation({latitude: -33.86365, pincolor: MapModule.ANNOTATION_BLUE, longitude: 151.21689, title: \"Anno2\", subtitle: \"This is anno2\", draggable: true});\r\nvar anno3 = MapModule.createAnnotation({latitude: -33.85365, longitude: 151.20689, title: \"Anno3\", subtitle: \"This is anno3\", draggable: false});\r\nvar anno4 = MapModule.createAnnotation({latitude: -33.86365, longitude: 151.22689, title: \"Anno4\", subtitle: \"This is anno4\", draggable: true});\r\n\r\nTi.API.info (\"Latitude:\" + anno.latitude);\r\nTi.API.info (\"Title:\" + anno.title);\r\n\r\nvar map = MapModule.createView({\r\n\tuserLocation: true,\r\n\tmapType: MapModule.NORMAL_TYPE,\r\n\tanimate: true,\r\n\tannotations: [anno, anno2, anno4],\r\n\tregion: {latitude: -33.87365, longitude: 151.20689, latitudeDelta: 0.1, longitudeDelta: 0.1 }, //Sydney\r\n\ttop: '30%'\r\n});\r\nTi.API.info(\"userLocation: \" + map.userLocation);\r\nwin.add(map);\r\n\r\nmap.addEventListener('click', function(e) {\r\n\tTi.API.info(\"Latitude: \" + e.latitude);\r\n\tTi.API.info(\"Source: \" + e.clicksource);\r\n});\r\nvar button = Ti.UI.createButton({top: 0, left: 0, title: \"Go Mt. View\"});\r\nbutton.addEventListener('click', function(e) {\r\n\tmap.region = {latitude: 37.3689, longitude: -122.0353, latitudeDelta: 0.1, longitudeDelta: 0.1 }; //Mountain View\r\n});\r\n\r\nvar button2 = Ti.UI.createButton({top: 0, right: 0, title: \"add anno3\"});\r\nbutton2.addEventListener('click', function(e) {\r\n\tmap.addAnnotation(anno3);\r\n});\r\n\r\nvar button3 = Ti.UI.createButton({top: 0, title: \"rm anno3\"});\r\nbutton3.addEventListener('click', function(e) {\r\n\tmap.removeAnnotation(anno3);\r\n});\r\n\r\nvar button4 = Ti.UI.createButton({top: '10%', title: \"rm all\"});\r\nbutton4.addEventListener('click', function(e) {\r\n\tmap.removeAllAnnotations();\r\n});\r\n\r\nvar button5 = Ti.UI.createButton({top: '10%', left: 0, title: \"remove annos\"});\r\nbutton5.addEventListener('click', function(e) {\r\n\tTi.API.info(anno.getTitle());\r\n\tmap.removeAnnotations([\"Sydney\", anno2]);\r\n});\r\n\r\nvar button6 = Ti.UI.createButton({top: '10%', right: 0, title: \"select anno2\"});\r\nbutton6.addEventListener('click', function(e) {\r\n\tmap.selectAnnotation(anno2);\r\n});\r\n\r\nvar button7 = Ti.UI.createButton({top: '20%', left: 0, title: \"desel anno2\"});\r\nbutton7.addEventListener('click', function(e) {\r\n\tmap.deselectAnnotation(anno2);\r\n});\r\n\r\nvar button8 = Ti.UI.createButton({top: '20%', right: 0, title: \"modify anno2\"});\r\nbutton8.addEventListener('click', function(e) {\r\n\tanno2.title = \"Hello\";\r\n\tanno2.subtitle = \"Hi there.\";\r\n\tanno2.longitude = 151.27689;\r\n});\r\n\r\nwin.add(button);\r\nwin.add(button2);\r\nwin.add(button3);\r\nwin.add(button4);\r\nwin.add(button5);\r\nwin.add(button6);\r\nwin.add(button7);\r\nwin.add(button8);\r\nwin.open();\r\n}\r\n\r\n/********************************************************************************/\r\n\t\t\t\t\t\t\t//Routes\r\n/********************************************************************************/\r\nfunction routeTest() {\r\n\r\nvar win = Ti.UI.createWindow({fullscreen: false});\r\nvar map = MapModule.createView({\r\n\tuserLocation: true,\r\n\tmapType: MapModule.NORMAL_TYPE,\r\n\tanimate: true,\r\n\tregion: {latitude: -33.87365, longitude: 151.20689, latitudeDelta: 0.02, longitudeDelta: 0.02 }, //Sydney\r\n\ttop: '30%'\r\n});\r\nwin.add(map);\r\n\r\nvar route1 = [{latitude: -33.87365, longitude: 151.20689}, {latitude: -33.87469, longitude: 151.20689}, {latitude: -33.87375, longitude: 151.20589}];\r\nvar route2 = [{latitude: -33.87565, longitude: 151.20789}, {latitude: -33.87469, longitude: 151.20689}, {latitude: -33.86375, longitude: 151.20589}];\r\n\r\nvar route = MapModule.createRoute({\r\n points: route1,\r\n color: \"blue\",\r\n width: 5.0\r\n});\r\n\r\nmap.addRoute(route);\r\n\r\nvar button = Ti.UI.createButton({top: 0, left: 0, title: \"+1 width\"});\r\nvar w = 5.0;\r\nbutton.addEventListener('click', function(e) {\r\n\troute.width = w + 1.0;\r\n\tw = w + 1.0;\r\n});\r\n\r\nvar button2 = Ti.UI.createButton({top: 0, title: \"change color\"});\r\nbutton2.addEventListener('click', function(e) {\r\n\troute.color = 'red';\r\n});\r\n\r\nvar button3 = Ti.UI.createButton({top: 0, right: 0, title: \"change routes\"});\r\nbutton3.addEventListener('click', function(e) {\r\n\troute.points = route2;\r\n});\r\n\r\nvar button4 = Ti.UI.createButton({top: '10%', title: \"remove route\"});\r\nbutton4.addEventListener('click', function(e) {\r\n\tmap.removeRoute(route);\r\n});\r\n\r\nvar button5 = Ti.UI.createButton({top: '10%', left: 0, title: \"add route\"});\r\nbutton5.addEventListener('click', function(e) {\r\n\tmap.addRoute(route);\r\n});\r\n\r\nwin.add(button);\r\nwin.add(button2);\r\nwin.add(button3);\r\nwin.add(button4);\r\nwin.add(button5);\r\nwin.open();\r\n}\r\n{code} \r\n\r\n\r\ntiapp.xml\r\n{code:xml}\r\n\r\n\r\n net.codjong.sandbox\r\n Sandbox\r\n 1.0\r\n yomybaby\r\n http://\r\n not specified\r\n 2013 by yomybaby\r\n appicon.png\r\n false\r\n false\r\n default\r\n false\r\n false\r\n false\r\n true\r\n 0f53e3ab-471e-4e0d-bf6a-34fdc57d108b\r\n system\r\n \r\n \r\n Ti.UI.PORTRAIT\r\n \r\n \r\n Ti.UI.PORTRAIT\r\n Ti.UI.UPSIDE_PORTRAIT\r\n Ti.UI.LANDSCAPE_LEFT\r\n Ti.UI.LANDSCAPE_RIGHT\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n true\r\n true\r\n \r\n default\r\n \r\n \r\n ti.map\r\n \r\n \r\n false\r\n true\r\n true\r\n true\r\n true\r\n false\r\n \r\n 3.1.0.GA\r\n\r\n\r\n{code}", "attachment": [], "flagged": false, "summary": "Android: Google Map v2 Module - Current Location button doesn't work. Nothing happened.", "creator": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "subtasks": [], "reporter": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "environment": "OSx 10.8.x\r\nTi Studio & Ti SDK 3.1.0.GA\r\ngoogle & Android sdk api 16, 17 ", "comment": { "comments": [ { "id": "249740", "author": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "body": "JongEun Lee,\n\nThanks for submit this report. What Android OS was this tested on?\n\nJust to make sure I'm on the same page: is the \"Current Location button\" the my-location button of a Map?\n\ne.g. http://developer.android.com/reference/com/google/android/gms/maps/UiSettings.html#isMyLocationButtonEnabled()\n\nIt should be reproducible either MultiMap, AnnotationTest or Routes Test snippet but if you can confirm reproducible steps will be quicker to replicate on our end, thanks again. ", "updateAuthor": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-05-01T17:53:19.000+0000", "updated": "2013-05-01T17:53:19.000+0000" }, { "id": "249912", "author": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "body": "Hi Eduardo Gomez,\r\n\r\n# Create New Mobile Project on Titanium Studio\r\n# Select Classic templates, Single Window Application\r\n# titanium SDK Version 3.1.0GA, app id : com.test.mapv2, click finish.\r\n# Download ti.map-android-2.1.0.zip from https://github.com/appcelerator/titanium_modules/blob/master/map/mobile/android/dist/ti.map-android-2.1.0.zip \r\n# copy zip file to Project Root\r\n# edit tiapp.xml\r\n{code:xml}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n{code}\r\n# copy & past app.js from https://github.com/appcelerator/titanium_modules/blob/master/map/mobile/android/example/app.js to Resource folder.\r\n# On Titanium Studio, click Run - android Device.\r\n\r\n*Result*\r\nEverything works except user-location(my location) Button.\r\nWhen I click location button on MultiMap, AnnotationTest or Routes Test snippe, nothing happened.\r\nCheck this snapshot : http://cl.ly/image/2H3N292D2q2d \r\nProject Files : http://cl.ly/3a200y332O3j\r\n\r\n- Studio Preference Android SDK : Google API (Android 4.1.2) [armeabi-v7a]\r\n- Test Phone : Nexus S (4.1.1)\r\n\r\nI hope that this comment helps to fix problem.\r\nThanks.", "updateAuthor": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "created": "2013-05-02T14:29:01.000+0000", "updated": "2013-05-02T14:29:54.000+0000" }, { "id": "250077", "author": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "body": "Oops. It's work properly today. I don't know why. (I didn't build today. It's yesterday version. same phone, same app, same internet connection) :(", "updateAuthor": { "name": "yomybaby", "key": "yomybaby", "displayName": "Jong Eun Lee", "active": true, "timeZone": "Asia/Tokyo" }, "created": "2013-05-03T15:43:16.000+0000", "updated": "2013-05-03T15:43:16.000+0000" }, { "id": "424510", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Going to close this as unable to reproduce. If it still occurs, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-07-21T05:38:38.000+0000", "updated": "2017-07-21T05:38:38.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }