This document is archived and information here might be outdated. Recommended version. |
Use the locator agents to find a network location from a row and curb approach.
[Visual Basic .NET] Public Sub QueryLocationByRowEx ( _ ByVal row As IRow, _ ByVal curbApproach As esriNACurbApproachType, _ ByRef Location As INALocation, _ ByRef distanceFromRow As Double _ )
[C#] public void QueryLocationByRowEx ( IRow row, esriNACurbApproachType curbApproach, ref INALocation Location, ref double distanceFromRow );
[C++]
HRESULT QueryLocationByRowEx(
IRow* row,
esriNACurbApproachType curbApproach,
INALocation** Location,
System.Double* distanceFromRow
);
[C++] Parameters row [in]
row is a parameter of type IRow* curbApproach [in]
curbApproach is a parameter of type esriNACurbApproachType Location [in, out]
Location is a parameter of type INALocation** distanceFromRow [in, out]
distanceFromRow is a parameter of type double*
QueryLocationByRowEx extends QueryLocationByRow by adding a CurbApproach parameter.
Using the inbound Row object, the method calls QueryLocationByRowEx on each of its associated NALocatorAgent classes. If FindClosestAmongAllAgents is false, it will return after the first locator succeeds in finding a location.
If ExcludeRestrictedElements is set to true and CacheRestrictedElements has been called, then there is the possibility that a network edge is only traversable in one direction. In that case, the CurbApproach setting could render a location as unreachable. For example, if the along direction on an edge is restricted, and the location being queried would place the returned NALocation on the left side of the edge, then it is not possible to reach the stop with a vehicle requiring a CurbApproach of left side. QueryLocationByRowEx, in the above example, would switch the side of edge of the returned NALocation to right side, thereby allowing the NALocation to be reachable by vehicles with a CurbApproach requirement of left side.