コード例 #1
0
		// Geocodes user data and adds Start and finish
		private void AddStops(SMStopsCollection objStopsCol)
		{
			// create and add "From" stop to stops collection    
			CreateStop(m_objRouter, m_txtStartAddress.Text, m_txtStartCity.Text, m_txtStartState.Text, m_txtStartCode.Text, objStopsCol, 0);

			// create and add "To" stop to stops collection    
			CreateStop(m_objRouter, m_txtFinishAddress.Text, m_txtFinishCity.Text, m_txtFinishState.Text, m_txtFinishCode.Text, objStopsCol, 1);
		}
コード例 #2
0
		// Creates Stop by Stop Point, Index and Description and adds it to Stops collection
		private void CreateStop(SMRouter objRouter, string strAddress, string strCity, string strState, string strCode, SMStopsCollection objStopsCol, int nID)
		{

			// geocode point
			IPoint objPoint = new PointClass();
			objPoint = GeocodeAddress(strAddress, strCity, strState, strCode);

			if (objPoint.IsEmpty)
					throw new Exception("Cannot geocode address.");

			// project point
			objPoint.Project(m_objSpatialReference);

			// create and initialize router point    
			SMRouterPoint objRouterPoint = null;
			objRouterPoint = new SMRouterPointClass();

			objRouterPoint.X = objPoint.X;
			objRouterPoint.Y = objPoint.Y;

			// create flag    
			ISMFlagCreator2 objFlagCreator2 = null;
			objFlagCreator2 = objRouter.FlagCreator as ISMFlagCreator2;
			if (objFlagCreator2 != null)
					objFlagCreator2.SearchTolerance = 5;

			SMFlag objFlag = null;
			objFlag = objRouter.FlagCreator.CreateFlag(objRouterPoint);

			// create and initialize stop    
			SMStop objStop = null;
			objStop = new SMStop();
			objStop.StopID = nID;
			objStop.Duration = 0;
			objStop.Flag = objFlag;
			objStop.Description = GetAddressString(strAddress, strCity, strState, strCode);

			objStopsCol.Add(objStop);
		}