Ответ 1
Ответ на ваш вопрос можно найти в API Карт Google (v3).
Основной подход здесь:
- Найти границы карты, используя метод getBounds() объекта Map. Результатом является объект LatLngBounds, из которого вы можете извлечь координаты широты и долготы углов карты.
- Вычислить расстояние в килограммах между севером и югом, а также к западу и востоку от карты. Используйте это расстояние, чтобы определить, сколько линий (с расстоянием 1 км) следует рисовать.
- Нарисуйте сетку в форме PolyLines, которые позволяют несколько options, например, цвет и ширина.
- Если вы также хотели бы нарисовать прямоугольники с привязанными к ним событиями (как в вашем примере), вы можете использовать Rectangle с определенным options. Вы можете связать события 'click' с этими прямоугольниками, чтобы вы могли взаимодействовать с ними. Или вы можете использовать координаты щелчка мыши на карте, чтобы определить, какой квадрат был нажат.
Дополнительная информация: Если вы знаете, где рисовать сетку, вы также знаете, где рисовать прямоугольники, поскольку края прямоугольников являются в основном линейными сегментами линий сетки. Итак, как вы знаете, где рисовать линии сетки? Если вы выберете стандартную нулевую точку (например, точку, где встречается экватор и первый меридиан), и в основном начните рисовать линии сетки оттуда, вы всегда будете иметь линии сетки (и, следовательно, прямоугольники), расположенные в одном месте. Обратите внимание: вы рисуете только те линии сетки, которые находятся в пределах границ карты. Таким образом, довольно легко идентифицировать прямоугольник, например, в верхнем левом углу... он всегда будет находиться в одной и той же позиции.