Остановитесь перетаскивают карты Google вне визуальных границ

Не без большой работы. Парсинг Regex может быть довольно включен, и нет ничего общедоступного в Платформе для проверки выражения.

Система. Текст. RegularExpressions. RegexNode. ScanRegex () надеется быть основной функцией, ответственной за парсинг выражения, но это является внутренним (и выдает исключения для любого недопустимого синтаксиса так или иначе). Таким образом, Вы были бы обязаны повторно реализовывать функциональность синтаксического анализа - который, несомненно, приведет к сбою в напряжении случаи или обновления Платформы.

я думаю, просто ловя ArgumentException, столь же хорошая идея, как Вы, вероятно, будете иметь в этой ситуации.

5
задан typeoneerror 24 September 2009 в 18:59
поделиться

2 ответа

Just for fun, another approach would be to tell the map to wrap vertically in the same way that it wraps horizontally, by overwriting GMercatorProjection.prototype.tileCheckRange before creating the map.

  GMercatorProjection.prototype.tileCheckRange=function(a,b,c){
    var d = 1<<b;
    if (a.y<0||a.y>=d) {
      a.y=a.y%d;
      if(a.y<0){
        a.y+=d;
      }
    }
    if(a.x<0||a.x>=d){
      a.x=a.x%d;
      if(a.x<0){
        a.x+=d;
      }
    }
    return true
  }

The downside is that the API doesn't contain any code for causing the markers and polylines to jump vertically to the copy of the map that's in view, they only jump horizontally. A complete solution would require writing own code to do the vertical jumps, and use unbounded GLatLngs throughout.

2
ответ дан 15 December 2019 в 01:06
поделиться

Это хороший пример того, как ограничить диапазон карты. Это немного похоже на взлом, но, вероятно, это ваш единственный реальный вариант.

2
ответ дан 15 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: