Công cụ định vị sản phẩm – hướng dẫn triển khai

Tổng quan

web iOS API

Google Maps Platform có sẵn cho web (JS, TS), Android và iOS, đồng thời cung cấp các API dịch vụ web để lấy thông tin về địa điểm, đường đi và khoảng cách. Các mẫu trong hướng dẫn này được viết cho một nền tảng, nhưng các đường liên kết đến tài liệu được cung cấp để triển khai trên các nền tảng khác.

Khi người dùng nhìn thấy sản phẩm của bạn trên mạng, họ muốn tìm cách tốt nhất và thuận tiện nhất để nhận đơn đặt hàng. Hướng dẫn triển khai Công cụ định vị sản phẩm và các mẹo tuỳ chỉnh là những nội dung mà Google đề xuất để có sự kết hợp tối ưu giữa các API của Nền tảng Google Maps nhằm mang lại trải nghiệm tuyệt vời cho người dùng công cụ định vị sản phẩm.

Khi làm theo hướng dẫn triển khai này, bạn có thể giúp khách hàng xem thông tin chi tiết mà họ cần để tìm sản phẩm của bạn và chỉ đường cho họ đến cửa hàng có mặt hàng họ cần, cho dù họ đang lái xe, đạp xe, đi bộ hay đi phương tiện công cộng.

Cấu trúc hệ thống Công cụ định vị sản phẩm kết nối trình duyệt web, máy chủ web, cơ sở dữ liệu kho hàng và các API của Google Maps Platform
Sơ đồ kiến trúc (nhấp để phóng to)

Bật API

Để triển khai Công cụ định vị sản phẩm, bạn phải bật các API sau trong Cloud Console. Các siêu liên kết sau đây sẽ đưa bạn đến Google Cloud Console để bật từng API cho dự án đã chọn:

Để biết thêm thông tin về cách thiết lập, hãy xem bài viết Bắt đầu sử dụng Google Maps Platform.

Các phần trong hướng dẫn triển khai

Sau đây là các cách triển khai và tuỳ chỉnh được đề cập ở đây:

  • Biểu tượng dấu đánh dấu là một bước triển khai cốt lõi.
  • Biểu tượng ngôi sao là một lựa chọn tuỳ chỉnh không bắt buộc nhưng nên dùng để nâng cao giải pháp.
Liên kết vị trí cửa hàng với các địa điểm trên Google Maps Platform So khớp vị trí cửa hàng với một địa điểm trong Google Maps Platform.
Xác định vị trí của người dùng Thêm chức năng nhập liệu trong khi di chuyển để cải thiện trải nghiệm người dùng trên tất cả các nền tảng và cải thiện độ chính xác của địa chỉ với số lần nhấn phím tối thiểu.
Xác định các cửa hàng gần nhất Tính toán khoảng cách và thời gian di chuyển cho nhiều điểm xuất phát và điểm đến, bạn có thể chỉ định nhiều hình thức vận chuyển như đi bộ, lái xe, sử dụng phương tiện công cộng hoặc đi xe đạp.
Hiển thị thông tin cửa hàng Hiển thị thông tin phong phú về các cửa hàng của bạn, để người dùng có thể dễ dàng di chuyển đến các cửa hàng đó.
Cung cấp chỉ dẫn đường đi Nhận dữ liệu chỉ đường từ điểm khởi hành đến điểm đến bằng nhiều hình thức vận chuyển như đi bộ, lái xe, đi xe đạp và phương tiện công cộng.
Gửi đường đi đến thiết bị di động Ngoài việc hiển thị đường đi trên trang web, bạn cũng có thể gửi đường đi đến điện thoại của người dùng để họ có thể sử dụng Google Maps khi đang di chuyển.
Hiển thị vị trí của bạn trên bản đồ tương tác Tạo điểm đánh dấu tuỳ chỉnh trên bản đồ để giúp các vị trí của bạn nổi bật và tạo kiểu cho bản đồ sao cho phù hợp với màu sắc thương hiệu của bạn. Hiển thị (hoặc ẩn) các địa điểm yêu thích (POI) cụ thể trên bản đồ để giúp người dùng định hướng tốt hơn và kiểm soát mật độ POI để tránh bản đồ bị rối mắt.
Kết hợp dữ liệu vị trí tuỳ chỉnh với Place Details Kết hợp thông tin vị trí tuỳ chỉnh của riêng bạn với Place Details để cung cấp cho người dùng một bộ dữ liệu phong phú để đưa ra quyết định.

Liên kết vị trí cửa hàng với các địa điểm trên Google Maps Platform

Lấy mã địa điểm

Ví dụ này sử dụng: Places API (Mới) Cũng có sẵn: JavaScript

Bạn có thể có một cơ sở dữ liệu về các cửa hàng của mình với thông tin cơ bản như tên của vị trí đó, địa chỉ và số điện thoại, đồng thời bạn muốn liên kết cơ sở dữ liệu đó với một địa điểm trong Google Maps Platform dưới dạng một nhóm đích đến cuối cùng mà người dùng có thể đến lấy sản phẩm. Để tìm nạp thông tin mà Google Maps Platform có về địa điểm đó, bao gồm cả toạ độ địa lý và thông tin do người dùng đóng góp, hãy tìm Mã địa điểm tương ứng với từng cửa hàng trong cơ sở dữ liệu của bạn. Bạn có thể gọi đến điểm cuối Tìm kiếm văn bản (Mới) trong Places API (Mới) và chỉ yêu cầu trường places.id trong mặt nạ trường (thao tác này sẽ kích hoạt SKU Chỉ có mã nhận dạng Nguyên tắc cơ bản của Tìm kiếm).

Sau đây là ví dụ về cách yêu cầu mã địa điểm cho văn phòng Google ở London:

curl -X POST -d '{
  "textQuery" : "Google London"
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

Bạn có thể lưu trữ mã địa điểm này trong cơ sở dữ liệu cùng với phần còn lại của dữ liệu cửa hàng và sử dụng mã này như một cách hiệu quả để yêu cầu thông tin về cửa hàng. Sau đây là hướng dẫn sử dụng mã địa điểm để mã hoá địa lý, truy xuất Thông tin chi tiết về địa điểm và yêu cầu chỉ đường đến địa điểm đó.

Mã hoá địa lý cho vị trí của bạn

Ví dụ này sử dụng: Geocoding API Cũng có sẵn: JavaScript

Nếu cơ sở dữ liệu cửa hàng của bạn có địa chỉ đường phố nhưng không có toạ độ địa lý, hãy dùng Geocoding API để lấy vĩ độ và kinh độ của địa chỉ đó nhằm tính toán những cửa hàng gần khách hàng nhất. Bạn có thể mã hoá địa lý cửa hàng ở phía máy chủ, lưu trữ vĩ độ và kinh độ trong cơ sở dữ liệu của mình, đồng thời làm mới ít nhất 30 ngày một lần.

Dưới đây là ví dụ về cách sử dụng Geocoding API để lấy vĩ độ và kinh độ của mã địa điểm được trả về cho văn phòng Google tại London:

```html
https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU&key=YOUR_API_KEY&solution_channel=GMP_guides_productlocator_v1_a
```

Xác định vị trí của người dùng

Ví dụ này sử dụng: Place Autocomplete trong Maps JavaScript API Cũng có sẵn: Android | iOS

Một thành phần quan trọng trong Công cụ định vị sản phẩm là xác định vị trí bắt đầu của người dùng. Bạn có thể cung cấp cho người dùng 2 lựa chọn để chỉ định vị trí bắt đầu: nhập điểm xuất phát của nội dung tìm kiếm hoặc cấp quyền cho dịch vụ vị trí của trình duyệt web hoặc dịch vụ vị trí trên thiết bị di động.

Xử lý các mục nhập được nhập bằng tính năng tự động hoàn thành

Người dùng ngày nay đã quen với chức năng tự động hoàn thành khi nhập trên phiên bản Google Maps dành cho người tiêu dùng. Bạn có thể tích hợp chức năng này vào bất kỳ ứng dụng nào bằng cách sử dụng các thư viện Địa điểm của Google Maps Platform trên thiết bị di động và web. Khi người dùng nhập một địa chỉ, tính năng tự động hoàn thành sẽ điền phần còn lại thông qua việc sử dụng các tiện ích. Bạn cũng có thể cung cấp chức năng tự động hoàn thành của riêng mình bằng cách sử dụng trực tiếp Place Autocomplete Data API.

Trường nhập dữ liệu tìm kiếm hiển thị các đề xuất tự động hoàn thành địa chỉ khi người dùng nhập
Chức năng tự động hoàn thành địa chỉ (nhấp để phóng to)

Trong ví dụ sau, hãy thêm thư viện Địa điểm và Thư viện đánh dấu vào trang web của bạn bằng cách thêm tham số libraries=places,marker vào URL tập lệnh Maps JavaScript API.

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places,marker&callback=initMap&solution_channel=GMP_guides_productlocator_v1_a" defer></script>

Tiếp theo, hãy thêm một phần tử vùng chứa vào trang của bạn, nơi tiện ích PlaceAutocompleteElement sẽ được thêm vào:

<div id="autocomplete-container"></div>

Cuối cùng, hãy khởi động tiện ích PlaceAutocompleteElement và thêm tiện ích này vào vùng chứa. Hạn chế đề xuất Tự động hoàn thành địa điểm bằng includedPrimaryTypes: ["geocode"] sẽ định cấu hình tiện ích để chấp nhận địa chỉ đường phố, khu dân cư, thành phố và mã bưu chính để người dùng có thể nhập bất kỳ mức độ cụ thể nào để mô tả nguồn gốc của họ. Khi người dùng chọn một kết quả dự đoán, sự kiện gmp-select sẽ kích hoạt và bạn có thể gọi place.fetchFields() để yêu cầu trường location chứa vĩ độ và kinh độ của vị trí xuất phát của người dùng. Bạn sẽ sử dụng các toạ độ trên bản đồ này để cho biết mối quan hệ giữa các vị trí của bạn với vị trí ban đầu.

// Create the PlaceAutocompleteElement, restricting predictions to
// geographical location types in the United Kingdom.
const placeAutocomplete = new google.maps.places.PlaceAutocompleteElement({
  includedPrimaryTypes: ["geocode"],
  includedRegionCodes: ["gb"],
});
placeAutocomplete.placeholder = "Enter starting address, city, or zip code";
document.getElementById("autocomplete-container").appendChild(placeAutocomplete);

// When the user selects an address from the drop-down,
// fetch the place details and search for the nearest stores.
placeAutocomplete.addEventListener("gmp-select", async ({ placePrediction }) => {
  const place = placePrediction.toPlace();
  await place.fetchFields({
    fields: ["id", "location", "formattedAddress"],
  });
  searchFromOrigin(place);
});
}

Trong ví dụ này, sau khi người dùng chọn địa chỉ, hàm searchFromOrigin() sẽ bắt đầu. Thao tác này lấy vị trí của kết quả trùng khớp là vị trí của người dùng, sau đó tìm kiếm các vị trí gần nhất dựa trên những toạ độ đó làm điểm gốc, như đã thảo luận trong phần Xác định các cửa hàng gần nhất.

Chế độ xem chi tiết sản phẩm cho thấy vị trí cửa hàng ở gần đó kèm tình trạng còn hàng và khoảng cách
Hiện các lựa chọn về vị trí (nhấp để phóng to)

Mở rộng phần này để xem video hướng dẫn từng bước về cách thêm tính năng Tự động hoàn thành địa điểm vào ứng dụng của bạn:

Trang web

Ứng dụng Android

Ứng dụng iOS

Sử dụng dịch vụ định vị địa lý của trình duyệt

Để yêu cầu và xử lý thông tin vị trí địa lý của trình duyệt HTML5, hãy xem cách bật cửa sổ Sử dụng vị trí của tôi:

Quyền của trình duyệt đối với vị trí của người dùng
Yêu cầu cấp quyền cho trình duyệt web (nhấp để phóng to)

Xác định các cửa hàng gần nhất

Ví dụ này sử dụng: Thư viện tuyến đường, Maps JavaScript API Các API khác: Routes API

Sau khi biết được vị trí của người dùng, bạn có thể so sánh vị trí này với vị trí cửa hàng của mình. Việc này bằng lớp RouteMatrix trong Thư viện tuyến đường, Maps JavaScript API (hoặc tính năng Tính toán ma trận tuyến đường trong Routes API) giúp người dùng chọn vị trí thuận tiện nhất cho họ theo thời gian lái xe hoặc khoảng cách đường bộ.

Cách tiêu chuẩn để sắp xếp danh sách vị trí là sắp xếp theo khoảng cách. Thông thường, khoảng cách này được tính đơn giản bằng cách sử dụng đường thẳng từ người dùng đến vị trí, nhưng điều này có thể gây hiểu lầm. Đường thẳng có thể đi qua một con sông không thể vượt qua hoặc qua những con đường đông đúc vào thời điểm mà một vị trí khác có thể thuận tiện hơn. Điều này rất quan trọng khi bạn có nhiều vị trí cách nhau vài km.

Phương thức RouteMatrix.computeRouteMatrix hoạt động bằng cách lấy danh sách vị trí xuất phát và đích đến, đồng thời trả về không chỉ khoảng cách di chuyển mà còn cả thời gian di chuyển giữa các vị trí đó. Trong trường hợp của người dùng, điểm xuất phát sẽ là nơi họ đang ở hoặc điểm xuất phát mong muốn, còn điểm đến sẽ là vị trí của các địa điểm. Bạn có thể chỉ định điểm bắt đầu và điểm đến dưới dạng cặp toạ độ, mã địa điểm hoặc địa chỉ. Bạn có thể sử dụng RouteMatrix.computeRouteMatrix với các lựa chọn ưu tiên về định tuyến, chẳng hạn như TRAFFIC_AWARE để cho thấy kết quả dựa trên thời gian lái xe hiện tại hoặc trong tương lai.

Ví dụ sau đây gọi RouteMatrix.computeRouteMatrix trong Thư viện tuyến đường, Maps JavaScript API, chỉ định điểm xuất phát của người dùng và tối đa 25 vị trí cửa hàng cùng một lúc.

async function getDistances(originLocation) {
  const { RouteMatrix } = await google.maps.importLibrary("routes");
  const request = {
    origins: [originLocation],
    destinations: stores.slice(0, 25).map((store) => store.location),
    travelMode: google.maps.TravelMode.DRIVING,
    routingPreference: "TRAFFIC_AWARE",
    fields: ["distanceMeters", "durationMillis", "condition"],
  };
  return RouteMatrix.computeRouteMatrix(request);
}

function update(location) {
  if (!location) {
    return;
  }

  // ...

  // sort by spherical distance
  stores.sort((a, b) => {
    return (
      google.maps.geometry.spherical.computeDistanceBetween(
        new google.maps.LatLng(a.location),
        location
      ) -
      google.maps.geometry.spherical.computeDistanceBetween(
        new google.maps.LatLng(b.location),
        location
      )
    );
  });

  // display travel distance and time
  getDistances(location)
    .then(({ matrix }) => {
      const items = matrix.rows[0].items;
      for (let i = 0; i < items.length; i++) {
        if (items[i].condition === "ROUTE_EXISTS") {
          stores[i].travelDistance = items[i].distanceMeters;
          stores[i].travelDuration = items[i].durationMillis;
        }
      }
    })
    .finally(() => {
      renderCards(stores);
      autocompleteInput.disabled = false;
      isUpdateInProgress = false;
    });
}

Đối với mỗi vị trí lân cận, bạn có thể hiển thị trạng thái còn hàng của sản phẩm dựa trên cơ sở dữ liệu kho hàng.

Hiển thị thông tin cửa hàng

Ví dụ này sử dụng: Thư viện địa điểm, Maps JavaScript API Ngoài ra, bạn có thể dùng: Places SDK cho Android | Places SDK cho iOS | Places API (Mới)

Bạn có thể chia sẻ thông tin chi tiết phong phú về địa điểm như thông tin liên hệ, giờ hoạt động và trạng thái mở cửa hiện tại để giúp khách hàng chọn địa điểm họ muốn hoặc hoàn tất đơn đặt hàng.

Sau khi gọi Maps JavaScript API để nhận Thông tin chi tiết về địa điểm, bạn có thể lọc và hiển thị phản hồi.

Các lựa chọn về cửa hàng lân cận cho biết tình trạng còn hàng của sản phẩm, giờ mở cửa và khoảng cách di chuyển
Hiện các lựa chọn về cửa hàng (nhấp để phóng to)

Để yêu cầu Place Details, bạn cần có mã địa điểm của từng vị trí. Hãy xem phần Lấy mã địa điểm để truy xuất mã địa điểm của vị trí.

Yêu cầu Chi tiết về địa điểm sau đây sử dụng lớp Địa điểm để trả về tên, toạ độ, trang web, số điện thoại, điểm xếp hạng và giờ hoạt động cho mã địa điểm Google London:

const place = new google.maps.places.Place({
  id: 'ChIJVSZzVR8FdkgRTyQkxxLQmVU',
});

await place.fetchFields({ fields: [ 'displayName', 'nationalPhoneNumber', 'location', 'regularOpeningHours', 'rating', 'utcOffsetMinutes', 'websiteURI', ], });

createMarker(place);


Cải thiện tính năng Định vị sản phẩm

Tuỳ thuộc vào nhu cầu của doanh nghiệp hoặc người dùng, bạn có thể nâng cao hơn nữa trải nghiệm của người dùng.

Cung cấp chỉ dẫn đường đi

Ví dụ này sử dụng: Thư viện tuyến đường, Maps JavaScript API Các API khác: Routes API dịch vụ web để sử dụng trên Android và iOS, trực tiếp từ ứng dụng hoặc từ xa thông qua một proxy máy chủ

Khi bạn cho người dùng xem chỉ đường ngay trong trang web hoặc ứng dụng của mình, người dùng sẽ không cần rời khỏi trang web của bạn và bị phân tâm bởi các trang khác hoặc nhìn thấy đối thủ cạnh tranh trên bản đồ. Với Routes API, bạn cũng có thể yêu cầu tuyến đường thân thiện với môi trường để ước tính mức sử dụng nhiên liệu hoặc năng lượng và cho biết tác động đến môi trường của một hành trình.

Lớp Route trong Thư viện tuyến đường, Maps JavaScript API cũng có các phương thức như createPolylines() và createWaypointAdvancedMarkers() cho phép bạn xử lý kết quả và hiển thị chúng trên bản đồ.

Sau đây là ví dụ về cách yêu cầu và hiển thị một tuyến đường trên bản đồ. Để biết thêm thông tin về mẫu này, hãy xem phần Lấy một tuyến đường.

Gửi đường đi đến thiết bị di động

Để giúp người dùng dễ dàng đến một địa điểm, bạn có thể nhắn tin hoặc gửi email cho họ một đường liên kết chỉ đường. Khi người dùng nhấp vào đường liên kết này, ứng dụng Google Maps sẽ khởi chạy trên điện thoại của họ (nếu đã cài đặt) hoặc maps.google.com sẽ tải trong trình duyệt web của thiết bị. Cả hai trải nghiệm này đều cung cấp cho người dùng lựa chọn sử dụng đường đi từng chặng, bao gồm cả hướng dẫn bằng giọng nói, để đến đích.

Sử dụng URL của Maps để tạo một URL chỉ đường như sau, với tên địa điểm được mã hoá URL làm tham số destination và mã địa điểm làm tham số destination_place_id. Bạn không mất phí khi tạo hoặc sử dụng URL của Maps, vì vậy, bạn không cần thêm khoá API vào URL.

https://www.google.com/maps/dir/?api=1&destination=Google%20London&destination_place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU

Bạn có thể cung cấp tham số truy vấn origin (không bắt buộc) bằng cách sử dụng cùng một định dạng địa chỉ như đích đến. Nhưng nếu bỏ qua tham số này, chỉ đường sẽ bắt đầu từ vị trí hiện tại của người dùng, có thể khác với vị trí mà họ đang sử dụng ứng dụng công cụ định vị sản phẩm của bạn. URL của Maps cung cấp các lựa chọn tham số truy vấn bổ sung, chẳng hạn như travelmode và dir_action=navigate để khởi chạy chỉ đường khi bật chế độ điều hướng.

Đường liên kết có thể nhấp vào này, mở rộng URL ví dụ trước, đặt origin làm sân vận động bóng đá ở London và dùng travelmode=transit để cung cấp chỉ đường bằng phương tiện công cộng đến đích đến.

Để gửi văn bản hoặc email có chứa URL này, bạn nên dùng một ứng dụng bên thứ ba như twilio. Nếu đang sử dụng App Engine, bạn có thể dùng các công ty bên thứ ba để gửi tin nhắn SMS hoặc email. Để biết thêm thông tin, hãy xem phần Gửi tin nhắn bằng dịch vụ bên thứ ba.

Hiện vị trí của bạn trên một bản đồ tương tác

Sử dụng bản đồ linh động

Ví dụ này sử dụng: Maps JavaScript API Cũng có sẵn: Android | iOS

Công cụ định vị là một phần quan trọng trong trải nghiệm người dùng. Tuy nhiên, một số trang web có thể thiếu cả bản đồ đơn giản, khiến người dùng phải rời khỏi trang web hoặc ứng dụng để tìm một vị trí gần đó. Điều này có nghĩa là người dùng sẽ có trải nghiệm không tối ưu khi phải di chuyển giữa các trang để lấy thông tin họ cần. Thay vào đó, bạn có thể cải thiện trải nghiệm này bằng cách nhúng và tuỳ chỉnh bản đồ trong các ứng dụng của mình.

Bạn có thể thêm một bản đồ động vào trang của mình (tức là bản đồ mà người dùng có thể di chuyển xung quanh, phóng to và thu nhỏ, đồng thời xem thông tin chi tiết về các vị trí và địa điểm yêu thích khác nhau) chỉ bằng một vài dòng mã.

Trước tiên, bạn cần thêm Maps JavaScript API vào trang. Việc này được thực hiện thông qua việc liên kết tập lệnh sau đây trong trang HTML của bạn, bao gồm cả libraries=marker để bạn có thể thêm các điểm đánh dấu nâng cao vào bản đồ.

<script defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=marker&callback=initMap&solution_channel=GMP_guides_productlocator_v1_a"></script>

URL tham chiếu đến hàm JavaScript initMap chạy khi trang tải. Trong URL, bạn cũng có thể xác định ngôn ngữ hoặc khu vực của bản đồ để đảm bảo bản đồ được định dạng đúng cách cho quốc gia cụ thể mà bạn đang nhắm đến. Việc đặt một khu vực cũng đảm bảo rằng hành vi của các ứng dụng được dùng bên ngoài Hoa Kỳ sẽ thiên về khu vực mà bạn đặt. Xem Thông tin chi tiết về phạm vi cung cấp của Google Maps Platform để biết danh sách đầy đủ các ngôn ngữ và khu vực được hỗ trợ, đồng thời tìm hiểu thêm về cách sử dụng tham số region.

Tiếp theo, bạn cần có một div HTML để đặt bản đồ trên trang. Đây là nơi bản đồ sẽ xuất hiện.

<div id="map"></div>

Bước tiếp theo là thiết lập chức năng cơ bản cho bản đồ. Việc này được thực hiện trong hàm tập lệnh initMap được chỉ định trong URL tập lệnh. Trong tập lệnh này (như trong ví dụ sau), bạn có thể đặt vị trí ban đầu, mã bản đồ (bắt buộc đối với các điểm đánh dấu nâng cao và kiểu bản đồ dựa trên đám mây), loại bản đồ và những chế độ kiểm soát mà người dùng có thể sử dụng trên bản đồ. Lưu ý rằng getElementById() tham chiếu đến mã nhận dạng "map" div trước đó.

function initMap() {
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 12,
center: { lat: 51.485925, lng: -0.129500 },
mapId: "DEMO_MAP_ID",
zoomControl: false
});
}

Đối với một công cụ định vị, bạn thường muốn đặt vị trí ban đầu, điểm giữa hoặc ranh giới và mức thu phóng (mức độ phóng to bản đồ ở vị trí đó). Hầu hết các phần tử khác (chẳng hạn như điều chỉnh các chế độ điều khiển) là không bắt buộc khi bạn xác định mức độ tương tác với bản đồ.

Tùy chỉnh bản đồ của bạn

Bạn có thể thay đổi giao diện và thông tin chi tiết của bản đồ theo nhiều cách. Ví dụ: bạn có thể:

  • Tạo điểm đánh dấu tuỳ chỉnh của riêng bạn để thay thế các ghim mặc định trên bản đồ.
  • Thay đổi màu sắc của các đối tượng trên bản đồ để thể hiện thương hiệu của bạn.
  • Kiểm soát những địa điểm yêu thích mà bạn hiển thị (điểm tham quan, đồ ăn, chỗ ở, v.v.) và mật độ hiển thị, cho phép bạn tập trung sự chú ý của người dùng vào vị trí của bạn trong khi làm nổi bật các địa danh giúp người dùng đến được vị trí gần nhất.

Tạo điểm đánh dấu bản đồ tuỳ chỉnh

Bạn có thể tuỳ chỉnh các điểm đánh dấu nâng cao bằng cách thay đổi màu nền, đường viền hoặc ký tự mặc định của ghim (ví dụ: để cho biết một vị trí hiện có mở cửa hay không), thay thế điểm đánh dấu bằng hình ảnh đồ hoạ tuỳ chỉnh (chẳng hạn như biểu trưng thương hiệu của bạn) hoặc tạo các điểm đánh dấu HTML và CSS tuỳ chỉnh. Cửa sổ thông tin hoặc cửa sổ bật lên có thể cung cấp thêm thông tin cho người dùng, chẳng hạn như giờ mở cửa, số điện thoại hoặc ảnh.

Sau đây là một bản đồ mẫu sử dụng các điểm đánh dấu đồ hoạ tuỳ chỉnh. (Xem mã nguồn trong chủ đề về điểm đánh dấu đồ hoạ tuỳ chỉnh của Maps JavaScript API.)

Để biết thông tin chi tiết, hãy xem tài liệu về điểm đánh dấu nâng cao cho JavaScript (web), Android và iOS.

Tạo kiểu cho bản đồ

Google Maps Platform cho phép bạn tạo kiểu cho bản đồ theo cách giúp người dùng tìm thấy vị trí gần nhất, đến đó nhanh nhất có thể và giúp bạn củng cố thương hiệu của mình. Ví dụ: bạn có thể thay đổi màu sắc của bản đồ cho phù hợp với thương hiệu của mình và có thể giảm phiền nhiễu trên bản đồ bằng cách kiểm soát những địa điểm yêu thích mà người dùng nhìn thấy. Google Maps Platform cũng cung cấp một số mẫu bản đồ khởi đầu, một số mẫu được tối ưu hoá cho nhiều ngành, chẳng hạn như du lịch, hậu cần, bất động sản và bán lẻ.

Bạn có thể tạo hoặc sửa đổi kiểu bản đồ trong trang Kiểu bản đồ của Google Cloud Console trong dự án của mình.

Mở rộng để xem ảnh động về cách tạo và tạo kiểu cho bản đồ trong Cloud Console:

Kiểu bản đồ theo ngành

Ảnh động này cho thấy các kiểu bản đồ dành riêng cho ngành được xác định trước mà bạn có thể sử dụng. Những kiểu này là điểm xuất phát tối ưu cho từng loại ngành. Ví dụ: kiểu bản đồ Bán lẻ sẽ giảm số lượng địa điểm yêu thích trên bản đồ, giúp người dùng tập trung vào các vị trí của bạn, cũng như các địa danh để giúp họ đến vị trí gần nhất một cách nhanh chóng và tự tin nhất có thể.

Trên trang Kiểu bản đồ, chuột nhấp vào Tạo kiểu bản đồ mới. Trên trang Kiểu bản đồ mới, chuột nhấp vào nút chọn bên cạnh từng kiểu được tối ưu hoá cho ngành sau đây: Du lịch, Hậu cần, Bất động sản và Bán lẻ. Khi bạn nhấp vào từng nút, nội dung mô tả kiểu bản đồ và bản xem trước đồ hoạ sẽ thay đổi.

Chế độ kiểm soát địa điểm yêu thích

Ảnh động này đặt màu điểm đánh dấu cho các địa điểm yêu thích và tăng mật độ POI trên kiểu bản đồ. Mật độ càng cao thì càng có nhiều điểm đánh dấu địa điểm yêu thích xuất hiện trên bản đồ.

Trên trang Kiểu bản đồ, chuột nhấp vào Tạo kiểu bản đồ mới. Trên trang Kiểu bản đồ mới, trong mục Tạo kiểu của riêng bạn, nút chọn Google Maps sẽ được chọn. Chuột nhấp vào nút chọn Atlas cho kiểu Atlas, sau đó nhấp vào Open in Style Editor (Mở trong Trình chỉnh sửa kiểu). Trong Style Editor (Trình chỉnh sửa kiểu), chuột nhấp vào đối tượng Địa điểm yêu thích, sau đó nhấp vào phần tử Biểu tượng, đặt màu thành đỏ. Sau đó, chuột sẽ chọn hộp đánh dấu Mật độ POI và trượt nút điều khiển mật độ sang phải để đạt mật độ tối đa. Càng nhiều điểm đánh dấu màu đỏ xuất hiện trên bản xem trước bản đồ khi mật độ tăng lên. Sau đó, chuột sẽ di chuyển đến nút Lưu.

Mỗi kiểu bản đồ đều có mã nhận dạng riêng. Sau khi xuất bản một kiểu trong Cloud Console, bạn sẽ tham chiếu mã bản đồ đó trong mã của mình. Điều này có nghĩa là bạn có thể cập nhật kiểu bản đồ theo thời gian thực mà không cần tái cấu trúc ứng dụng. Giao diện mới sẽ tự động xuất hiện trong ứng dụng hiện có và được dùng trên nhiều nền tảng. Các ví dụ sau đây cho thấy cách thêm mã bản đồ vào một trang web bằng Maps JavaScript API.

Bằng cách thêm một hoặc nhiều map_ids vào URL tập lệnh, Maps JavaScript API sẽ tự động cung cấp các kiểu đó để hiển thị bản đồ nhanh hơn khi bạn gọi các kiểu đó trong mã của mình.

<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&map_ids=MAP_IDs&callback=initMap&solution_channel=GMP_guides_productlocator_v1_a">
</script>

Đoạn mã sau đây hiển thị một bản đồ có kiểu trên trang web. (Không hiển thị phần tử HTML <div id="map"></div> nơi bản đồ sẽ xuất hiện trên trang.)

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 51.485925, lng: -0.129500},
zoom: 12,
mapId: '1234abcd5678efgh'
});

Tìm hiểu thêm về cách kết hợp tính năng định kiểu bản đồ dựa trên đám mây trong JavaScript (web), Android và iOS.

Kết hợp dữ liệu vị trí tuỳ chỉnh với Place Details

Mục Hiện vị trí của bạn trên bản đồ tương tác trước đó mô tả cách sử dụng Place Details để cung cấp cho người dùng nhiều thông tin về vị trí của bạn, chẳng hạn như giờ mở cửa, ảnh và bài đánh giá.

Bạn nên tìm hiểu các cấp giá và SKU của nhiều trường dữ liệu trong Places API (mới). Để quản lý chi phí, một chiến lược là kết hợp thông tin bạn đã có về vị trí của mình với thông tin mới nhất từ Google Maps, chẳng hạn như thông tin về việc đóng cửa tạm thời, giờ hoạt động vào ngày lễ, điểm xếp hạng, ảnh và bài đánh giá của người dùng. Nếu đã có thông tin liên hệ của các cửa hàng, bạn sẽ không cần yêu cầu những trường đó từ Place Details và có thể giới hạn mặt nạ trường để chỉ tìm nạp những trường bạn muốn hiển thị.

Bạn có thể có dữ liệu địa điểm riêng để bổ sung hoặc sử dụng thay cho Place Details. Lớp học lập trình cho công cụ định vị full stack cung cấp ví dụ về cách sử dụng GeoJSON với cơ sở dữ liệu để lưu trữ và truy xuất thông tin chi tiết về vị trí của riêng bạn.