code: def getDistance2D(self, x1, y1, x2, y2, isGeo=False, isDriving=False):
          
          posType = tc.POSITION_2D
          if isGeo:
              posType = tc.POSITION_LON_LAT
          distType = tc.REQUEST_AIRDIST
          if isDriving:
              distType = tc.REQUEST_DRIVINGDIST
          self._connection._beginMessage(
              tc.CMD_GET_SIM_VARIABLE, tc.DISTANCE_REQUEST, "", 1 + 4 + 1 + 8 + 8 + 1 + 8 + 8 + 1)
          self._connection._string += struct.pack("!Bi", tc.TYPE_COMPOUND, 3)
          self._connection._string += struct.pack("!Bdd", posType, x1, y1)
          self._connection._string += struct.pack(
              "!BddB", posType, x2, y2, distType)
          return self._connection._checkResult(tc.CMD_GET_SIM_VARIABLE, tc.DISTANCE_REQUEST, "").readDouble()
docs: getDistance2D(double, double, double, double, boolean, boolean) -> double
  
          Returns the distance between the two coordinate pairs (x1,y1) and (x2,y2)
  
          If isGeo=True, coordinates are interpreted as longitude and latitude rather
          than cartesian coordinates in meters.
  
          If isDriving=True, the coordinates are mapped onto the road network and the
          length of the shortest route in the network is returned. Otherwise, the
          straight-line distance is returned.