私が達成しようとしているのは、文字列を「NL、VENLO、5928PN」のような複数のアドレスに分割することです。これにより、getLocation は「POINT(xy)」文字列値を返します。
これは機能します。次に、場所ごとに WayPointDesc オブジェクトを作成する必要があります。そして、これらの各オブジェクトを WayPointDesc[] にプッシュする必要があります。さまざまな方法を試しましたが、これまでのところ実行可能なオプションが見つかりません。私の最後の手段は、最大量のウェイポイントをハードコードすることですが、私はむしろそのようなことを避けたいと思います.
残念ながら、リストを使用することはオプションではありません...と思います。
これは機能です:
/* tour()
* Input: string route
* Output: string[] [0] DISTANCE [1] TIME [2] MAP
* Edited 21/12/12 - Davide Nguyen
*/
public string[] tour(string route)
{
// EXAMPLE INPUT FROM QUERY
route = "NL,HELMOND,5709EM+NL,BREDA,8249EN+NL,VENLO,5928PN";
string[] waypoints = route.Split('+');
// Do something completly incomprehensible
foreach (string point in waypoints)
{
xRoute.WaypointDesc wpdStart = new xRoute.WaypointDesc();
wpdStart.wrappedCoords = new xRoute.Point[] { new xRoute.Point() };
wpdStart.wrappedCoords[0].wkt = getLocation(point);
}
// Put the strange result in here somehow
xRoute.WaypointDesc[] waypointDesc = new xRoute.WaypointDesc[] { wpdStart };
// Calculate the route information
xRoute.Route route = calculateRoute(waypointDesc);
// Generate the map, travel distance and travel time using the route information
string[] result = createMap(route);
// Return the result
return result;
//WEEKEND?
}