code: function(center, radius) {
    validateLocation(center);
    var queryBits = Math.max(1, boundingBoxBits(center, radius));
    var geohashPrecision = Math.ceil(queryBits/g_BITS_PER_CHAR);
    var coordinates = boundingBoxCoordinates(center, radius);
    var queries = coordinates.map(function(coordinate) {
      return geohashQuery(encodeGeohash(coordinate, geohashPrecision), queryBits);
    });
    // 去重
    return queries.filter(function(query, index) {
      return !queries.some(function(other, otherIndex) {
        return index > otherIndex && query[0] === other[0] && query[1] === other[1];
      });
    });
  }
docs: Calculates a set of queries to fully contain a given circle. A query is a [start, end] pair
  where any geohash is guaranteed to be lexiographically larger then start and smaller than end.
  
  @param {Array.<number>} center The center given as [latitude, longitude] pair.
  @param {number} radius The radius of the circle.
  @return {Array.<Array.<string>>} An array of geohashes containing a [start, end] pair.