Hi there.
I am looking for some kind of API of OruxMaps, which gives me the possibility, to create a waypoint in an own app, send it directly to Orux (which is already running or will be started) and make it the default "Go To" destination. All this should be as fast as possible. So in best case, the private app is open, I press a button, the app calculates a waypoint, sends it to Orux, Orux becomes active app and navigates / points (direct line) to the new waypoint, without any interactions via touchscreen and Orux so far.
Would be so nice, if this is possible. Any help warmly welcome.
Kind regards,
Andrew
Quote from: "flashman"
Hi there.
I am looking for some kind of API of OruxMaps, which gives me the possibility, to create a waypoint in an own app, send it directly to Orux (which is already running or will be started) and make it the default "Go To" destination. All this should be as fast as possible. So in best case, the private app is open, I press a button, the app calculates a waypoint, sends it to Orux, Orux becomes active app and navigates / points (direct line) to the new waypoint, without any interactions via touchscreen and Orux so far.
Would be so nice, if this is possible. Any help warmly welcome.
Kind regards,
Andrew
Hi,
OruxMaps catches geo: uris, with ACTION_VIEW Intents->geo:37.786971,-122.399677
or you can use OruxMaps intents:
//Mapa offline en posición actual
//Intent i = new Intent("com.oruxmaps. VIEW_MAP_OFFLINE");
//Mapa online
Intent i = new Intent("com.oruxmaps.VIEW_MAP_ONLINE");
//Waypoints
double[] targetLat = {33.4,8.3,22.2};
double [] targetLon = {33.4,8.3,22.3};
String [] targetNames = {"point alpha","point beta"};
i.putExtra("targetLat", targetLat);
i.putExtra("targetLon", targetLon);
i.putExtra("targetName", targetNames);
//Track points
double[] targetLatPoints = {33.43,8.32,22.24};
double [] targetLonPoints = {33.44,8.35,22.37};
i.putExtra("targetLatPoints", targetLatPoints);
i.putExtra("targetLonPoints", targetLonPoints);
startActivity(i);
orux
Thanks a lot, works perfect. But this is the same snipped, as described on the last page of the manual.
So there are some questions left - Can the API do more?
Using the code provided, I can create waypoints or trackpoints. If I call my app twice, Orux shows points as duplicates.
Is there an ID-key management, which avoid duplicates and let me control points already created?
For example:
...
i.putExtra("targetName", targetNames);
i.putExtra("targetId",<unique_ID>);
...
And since my <unique_ID> will we alway the same per dataset, Orux won`t create it again.
So with this idea, it should be possible to remove or hide created points?
And finally: How can I start a navigation to a point just created?
...
i.setAsTarget(<unique_ID>);
startActivity(i);
...
Hope you can help, since I am sure, the Orux api is much bigger and powerful.
Thanks so much,
Andreas
Quote from: "flashman"
Thanks a lot, works perfect. But this is the same snipped, as described on the last page of the manual.
So there are some questions left - Can the API do more?
Using the code provided, I can create waypoints or trackpoints. If I call my app twice, Orux shows points as duplicates.
Is there an ID-key management, which avoid duplicates and let me control points already created?
For example:
...
i.putExtra("targetName", targetNames);
i.putExtra("targetId",<unique_ID>);
...
And since my <unique_ID> will we alway the same per dataset, Orux won`t create it again.
So with this idea, it should be possible to remove or hide created points?
And finally: How can I start a navigation to a point just created?
...
i.setAsTarget(<unique_ID>);
startActivity(i);
...
Hope you can help, since I am sure, the Orux api is much bigger and powerful.
Thanks so much,
Andreas
Hi,
yes, there are more Intents,
int[] targetType = i.getIntArrayExtra("targetType");//waypoint type
int navigatetoindex = i.getIntExtra("navigatetoindex", -1);//waypoint index from provided waypoints to start navigation mode
But there aren't Intents to remove/identify the provided waypoints.
orux
Great. Will try it out. Thanks for the help.
This methods seems to do nothing. I tried this, but even no success:
Intent i = new Intent("com.oruxmaps.VIEW_MAP_ONLINE");
double [] targetLat = {53.12,53.38};
double [] targetLon = {13.12,13.22};
String [] targetNames = {"START","ZIEL"};
i.putExtra("targetLat", targetLat);
i.putExtra("targetLon", targetLon);
i.putExtra("targetName", targetNames);
i.putExtra("navigatetoindex", 1);
startActivity(i);
I thought this might be the way to activate navigation to waypoint "Ziel", which should have index 1, while "Start" has index zero.
int[] targetType = i.getIntArrayExtra("targetType");//waypoint type
Should give me a array of integers to do what?
int navigatetoindex = i.getIntExtra("navigatetoindex", -1);//waypoint index from provided waypoints to start navigation mode
Since its an "get" method, it should return an index? What to do with?
I am very sorry for the maybe stupid questions, but there is no reference to look at in this special case. :-)
Hi,
try with last beta; there was a bug with 'navigatetoindex' value.
int[] targetType = i.getIntArrayExtra("targetType");//waypoint type
this is my code, you have to 'put' the type of the wpts, if you want a different wpt type.
int navigatetoindex = i.getIntExtra("navigatetoindex", -1);//waypoint index from provided waypoints to start navigation mode
this is also my code, you are using it right.
wpt types:
<item>Waypoint</item>
<item>Geocache</item>
<item>Photo</item>
<item>Airport</item>
<item>Bar</item>
<item>Beach</item>
<item>Bridge</item>
<item>Campground</item>
<item>Car</item>
<item>City</item>
<item>Crossing</item>
<item>Dam</item>
<item>Danger Area</item>
<item>Drinking Water</item>
<item>Finishing Point</item>
<item>Fishing Area</item>
<item>Forest</item>
<item>Gas Station</item>
<item>Glider Area</item>
<item>Golf</item>
<item>Heliport</item>
<item>Hotel</item>
<item>Hunting Area</item>
<item>Information</item>
<item>Marina</item>
<item>Mine</item>
<item>Parachute Area</item>
<item>Park</item>
<item>Parking Area</item>
<item>Picnic Area</item>
<item>Residence</item>
<item>Restaurant</item>
<item>Restroom</item>
<item>Scenic Area</item>
<item>School</item>
<item>Shopping Center</item>
<item>Shower</item>
<item>Starting Point</item>
<item>Skiing Area</item>
<item>Summit</item>
<item>Swimming Area</item>
<item>Telephone</item>
<item>Tunnel</item>
<item>Ultralight Area</item>
<item>Person</item>
<item>Dog</item>
<item>Dot</item>
targetType->
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
<item>20</item>
<item>21</item>
<item>22</item>
<item>23</item>
<item>24</item>
<item>25</item>
<item>26</item>
<item>27</item>
<item>28</item>
<item>29</item>
<item>30</item>
<item>31</item>
<item>32</item>
<item>33</item>
<item>34</item>
<item>35</item>
<item>36</item>
<item>37</item>
<item>38</item>
<item>39</item>
<item>40</item>
<item>41</item>
<item>42</item>
<item>43</item>
<item>44</item>
<item>45</item>
<item>46</item>
<item>47</item>
orux