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

Tổng quan

web iOS API

Nền tảng Google Maps có sẵn cho web (JS, TS), Android và iOS, đồng thời cũng cung cấp các API dịch vụ web để nhận 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 chúng tôi cung cấp đường liên kết đến tài liệu để 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 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 mà chúng tôi cung cấp trong chủ đề này là sự kết hợp tối ưu của các API Nền tảng Google Maps để tạo ra trải nghiệm người dùng định vị sản phẩm tuyệt vời.

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 cần thiết để tìm sản phẩm của bạn và chỉ đường đến cửa hàng có bán mặt hàng, cho dù họ đang lái xe, đi xe đạp, đi bộ hay sử dụng phương tiện công cộng.

Sơ đồ kiến trúc
Sơ đồ cấu 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 Google Cloud Console. Các siêu liên kết sau đây sẽ chuyển bạn đến Google Cloud Console để bật từng API cho dự án bạ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 với Nền tảng Google Maps.

Các mục hướng dẫn triển khai

Sau đây là những cách triển khai và tuỳ chỉnh mà chúng ta sẽ đề cập trong chủ đề này.

  • Biểu tượng dấu kiểm là bước triển khai chính.
  • Biểu tượng dấu sao là không bắt buộc nhưng bạn nên tuỳ chỉnh để 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 Nền tảng Google Maps So khớp vị trí cửa hàng với một địa điểm trong Nền tảng Google Maps.
Xác định vị trí của người dùng Thêm chức năng nhập dữ liệu khi dùng để cải thiện trải nghiệm người dùng trên tất cả nền tảng và cải thiện độ chính xác của địa chỉ nhờ chỉ cần 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 quãng đường đi lại và thời gian di chuyển cho nhiều điểm xuất phát và điểm đến, tuỳ ý chỉ định các hình thức di chuyển khác nhau như đi bộ, lái xe, 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 nhiều dữ liệu trên các cửa hàng của bạn để người dùng có thể chuyển đến cửa hàng dễ dàng hơn.
Cung cấp thông tin đường đi Nhận dữ liệu về đường đi từ điểm khởi hành đến điểm đến bằng nhiều hình thức phương tiện giao thông 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ị thông tin đường đi trên trang web của mình, bạn cũng có thể gửi thông tin đường đi đến điện thoại của người dùng để chỉ đường bằ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 bản đồ tùy chỉnh để giúp vị trí của bạn nổi bật và tạo kiểu trên bản đồ 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 đồ của bạn để giúp người dùng tự định hướng và kiểm soát mật độ của POI để bản đồ không bị lộn xộn.
Kết hợp dữ liệu vị trí tuỳ chỉnh với Thông tin chi tiết về địa điểm Kết hợp thông tin chi tiết về vị trí tuỳ chỉnh của riêng bạn với Thông tin chi tiết về địa điểm nhằm cung cấp cho người dùng một tập hợp dữ liệu phong phú để đưa ra quyết định.

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

Đang lấy mã địa điểm

Ví dụ này sử dụng: API Địa điểm Cũng có: JavaScript

Bạn có thể có cơ sở dữ liệu về cửa hàng với các thông tin cơ bản như tên của địa điểm đó, địa chỉ và số điện thoại của cửa hàng, đồng thời bạn muốn liên kết cửa hàng với một địa điểm trong Nền tảng Google Maps dưới dạng một tập hợp điểm đến cuối cùng mà người dùng có thể đến để đến lấy sản phẩm. Để tìm nạp thông tin mà Nền tảng Google Maps 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 địa điểm trong mục Tìm kiếm địa điểm API Địa điểm và chỉ yêu cầu trường place_id.

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

    https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=google%20london&inputtype=textquery&fields=place_id&key=YOUR_API_KEY&solution_channel=GMP_guides_productlocator_v1_a

Bạn có thể lưu trữ mã địa điểm này trong cơ sở dữ liệu 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. Dưới đây là hướng dẫn về cách 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ý vị trí của bạn

Ví dụ này sử dụng: API mã hoá địa lý Cũng có: 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 sử dụng API Mã hoá địa lý để lấy vĩ độ và kinh độ của địa chỉ đó nhằm tính toán xem cửa hàng nào ở gần khách hàng nhất. Bạn có thể mã hoá địa lý cho cửa hàng ở phía máy chủ, lưu trữ vĩ độ và kinh độ trong cơ sở dữ liệu và 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 API Mã hoá địa lý để lấy vĩ độ và kinh độ của mã địa điểm được trả về cho văn phòng Google London:

    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: Thư viện tự động hoàn thành địa điểm trong API Maps JavaScript Cũng được hỗ trợ: Android | iOS

Một thành phần chính 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 hai tuỳ chọn để người dùng chỉ định vị trí bắt đầu của họ: nhập nguồn gốc tìm kiếm hoặc cấp quyền đối với vị trí định 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 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 trước 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 sử dụng thư viện Địa điểm trên Nền tảng Google Maps trên thiết bị di động và trên 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 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 thư viện Địa điểm.

Chức năng tự động hoàn thành địa chỉ
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 Tự động hoàn thành địa điểm vào trang web của bạn bằng cách thêm tham số libraries=places vào URL tập lệnh API JavaScript của Maps.

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

Tiếp theo, hãy thêm hộp văn bản vào trang của bạn để người dùng nhập:

<input id="autocomplete" placeholder="Enter
  starting address, city, or zip code" type="text"></input>

Cuối cùng, bạn cần khởi chạy dịch vụ Tự động hoàn thành và liên kết dịch vụ đó với hộp văn bản được đặt tên. Củng cố các cụm từ gợi ý Tự động hoàn thành địa điểm với các loại mã địa lý sẽ định cấu hình trường nhập của bạn để chấp nhận địa chỉ đường phố, vùng lân cận, thành phố và mã bưu chính, nhờ đó, người dùng có thể nhập bất kỳ mức độ cụ thể nào nhằm mô tả nguồn gốc của họ. Hãy nhớ yêu cầu trường geometry để phản hồi chứa vĩ độ và kinh độ tại điểm gốc của người dùng. Bạn sẽ sử dụng các toạ độ bản đồ này để biểu thị mối quan hệ của các vị trí với điểm khởi hành.

// Create the autocomplete object, restricting the search predictions to
// geographical location types.
const autocomplete = new google.maps.places.Autocomplete(
document.getElementById("autocomplete"),
{ types: ["geocode"],
  componentRestrictions: {'country': ['gb']},
  fields: ['place_id', 'geometry', 'formatted_address'] }
);
// When the user selects an address from the drop-down
// zoom to the select location and add a marker.
autocomplete.addListener("place_changed", searchFromOrigin);
}

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 sẽ lấy hình dạng của kết quả 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 các toạ độ đó làm điểm gốc, được thảo luận trong phần Xác định các cửa hàng gần nhất.

Đang hiển thị các lựa chọn vị trí
Hiển thị các lựa chọn vị trí (nhấp để phóng to)

Hãy 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 vị trí địa lý của trình duyệt

Để yêu cầu và xử lý 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 thông tin vị trí của người dùng
Yêu cầu cấp quyền đối với 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: Dịch vụ ma trận khoảng cách, Maps JavaScript API Cũng có: API ma trận khoảng cách

Sau khi 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 bạn. Nhờ dịch vụ ma trận khoảng cách, Maps JavaScript 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.

Cách chuẩn để sắp xếp danh sách các vị trí là sắp xếp các vị trí theo khoảng cách. Thông thường, khoảng cách này được tính chỉ 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ể nằm trên dòng 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 trong phạm vi vài km.

Dịch vụ ma trận khoảng cách, Maps JavaScript API hoạt động bằng cách lấy danh sách vị trí điểm khởi hành và điểm đến và trả về không chỉ khoảng cách di chuyển mà còn cả thời gian giữa các vị trí đó. Trong trường hợp của người dùng, điểm khởi hành sẽ là nơi họ hiện đang ở hoặc điểm xuất phát mong muốn của họ và điểm đến sẽ là vị trí hiện tại. Điểm gốc và đích đến có thể được chỉ định là cặp toạ độ hoặc dưới dạng địa chỉ; khi bạn gọi dịch vụ, dịch vụ sẽ khớp với các địa chỉ đó. Bạn có thể sử dụng Dịch vụ ma trận khoảng cách, API JavaScript của Maps với các tham số bổ sung để hiển thị 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 Dịch vụ ma trận khoảng cách, Maps JavaScript API, chỉ định nguồn gốc của người dùng và 25 vị trí cửa hàng cùng một lúc.

function getDistances(place) {
  let distanceMatrixService = new google.maps.DistanceMatrixService();
  const origins = [place];
  return new Promise((resolve, reject) => {
    const callback = (response, status) => {
      if (status === google.maps.DistanceMatrixStatus.OK && response) {
        resolve(response);
      } else {
        reject(status);
      }
    };
    distanceMatrixService.getDistanceMatrix(
      {
        origins,
        destinations: stores.slice(0, 25).map((store) => store.location),
        travelMode: google.maps.TravelMode.DRIVING,
        unitSystem: google.maps.UnitSystem.IMPERIAL,
      },
      callback
    );
  });
}

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((response) => {
      for (let i = 0; i < response.rows[0].elements.length; i++) {
        stores[i].address = response.destinationAddresses[i];
        stores[i].travelDistance = response.rows[0].elements[i].distance.value;
        stores[i].travelDistanceText =
          response.rows[0].elements[i].distance.text;
        stores[i].travelDuration = response.rows[0].elements[i].duration.value;
        stores[i].travelDurationText =
          response.rows[0].elements[i].duration.text;
      }
    })
    .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ị tình trạng còn hàng của sản phẩm dựa trên cơ sở dữ liệu kho hàng.

Đang 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 Cũng có: SDK Địa điểm dành cho Android | SDK Địa điểm dành cho iOS | API Địa điểm

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

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

Đang hiển thị các lựa chọn về cửa hàng
Hiển thị các lựa chọn về cửa hàng (nhấp để phóng to)

Để yêu cầu Chi tiết địa điểm, bạn sẽ cần ID địa điểm của từng vị trí. Hãy xem phần Nhận mã địa điểm để truy xuất mã địa điểm cho vị trí của bạn.

Yêu cầu Thông tin chi tiết về địa điểm sau đây trả về địa chỉ, toạ độ, trang web, số điện thoại, điểm xếp hạng và giờ cho mã địa điểm trên Google London:

var request = {
  placeId: 'ChIJVSZzVR8FdkgRTyQkxxLQmVU',
  fields: ['name', 'formatted_phone_number', 'geometry', 'opening_hours', 'rating', 'utc_offset_minutes', 'website']
};

service = new google.maps.places.PlacesService(map); service.getDetails(request, callback);

function callback(place, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { createMarker(place); } }


Đang cải tiến bộ định vị sản phẩm

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

Cung cấp thông tin đường đi

Ví dụ này sử dụng: Dịch vụ chỉ đường API JavaScript của Maps Cũng có sẵn: Dịch vụ web API Chỉ đường để sử dụng trên Android và iOS, trực tiếp từ ứng dụng hoặc từ xa thông qua proxy máy chủ

Khi bạn cho người dùng thấy đường đi trong trang web hoặc ứng dụng của mình, người dùng không cần phải rời khỏi trang web và bị phân tâm đến các trang khác hay nhìn thấy các đối thủ cạnh tranh trên bản đồ. Bạn thậm chí có thể hiển thị lượng khí thải cacbon của phương tiện đi lại cụ thể và trình bày tác động của một hành trình cụ thể bằng cách sử dụng một tập dữ liệu cacbon bạn có thể sở hữu.

Dịch vụ chỉ đường cũng có các chức năng cho phép bạn xử lý kết quả và hiển thị kết quả dễ dàng trên bản đồ.

Sau đây là ví dụ về cách hiển thị bảng điều khiển chỉ đường. Để biết thêm thông tin về mẫu, hãy xem bài viết Hiện hướng văn bản.

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

Để giúp người dùng đến một vị trí dễ dàng hơn nữa, bạn có thể nhắn tin hoặc gửi đường liên kết chỉ đường cho họ qua email. Khi họ nhấp vào đó, ứng dụng Google Maps sẽ chạy trên điện thoại của họ nếu ứng dụng được 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 tuỳ chọn sử dụng tính năng chỉ đường 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 để soạn 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. Việc soạn hoặc sử dụng URL của Maps sẽ không tốn phí, vì vậy, bạn không cần đưa khoá API vào URL.

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

Bạn có thể tuỳ ý cung cấp tham số truy vấn origin bằng cách sử dụng cùng một định dạng địa chỉ với đích đến. Tuy nhiên, nếu bạn bỏ qua thuộc tính này, đường đi sẽ bắt đầu từ vị trí hiện tại của người dùng, có thể khác với nơi họ đang dùng ứng dụng Định vị sản phẩm. URL của Maps cung cấp thêm các tuỳ chọn tham số truy vấn, chẳng hạn như travelmodedir_action=navigate để kích hoạt đường đi khi bật tính năng chỉ đường.

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

Để gửi văn bản hoặc email chứa URL này, bạn hiện nên dùng một ứng dụng bên thứ ba, chẳng hạn như twilio. Nếu đang sử dụng App Engine, bạn có thể sử 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 thị vị trí của bạn trên bản đồ tương tác

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

Ví dụ này sử dụng: API JavaScript của Maps Cũng được hỗ trợ: 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 thậm chí có thể thiếu bản đồ đơn giản, yêu cầu người dùng rời khỏi trang web hoặc ứng dụng để tìm một vị trí lân cận. Điều này có nghĩa là những người dùng phải di chuyển giữa các trang để nhận được thông tin cần thiết sẽ không có được trải nghiệm tối ưu. 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 ứng dụng.

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

Trước tiên, bạn cần đưa API JavaScript của Maps vào trang. Điều này được thực hiện bằng cách liên kết tập lệnh sau trong trang HTML của bạn.

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

URL này tham chiếu đến hàm initMap JavaScript 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 theo đúng cách cho quốc gia cụ thể mà bạn đang nhắm đến. Việc đặt khu vực cũng đảm bảo rằng hành vi của các ứng dụng được sử 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 áp dụng của Nền tảng Google Maps để 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 đồ của mình trên trang. Đây là nơi bản đồ sẽ được hiển thị.

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

Bước tiếp theo là thiết lập chức năng cơ bản của bản đồ. Bạn có thể thực hiện việc này trong hàm tập lệnh initMap được chỉ định trong URL của tập lệnh. Trong tập lệnh này, như minh hoạ sau đây, bạn có thể đặt vị trí ban đầu, loại bản đồ và chế độ điều khiển nào sẽ có trên bản đồ cho người dùng của bạn. Xin lưu ý rằng getElementById() tham chiếu đến mã nhận dạng div "map" ở trên.

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

Đối với trình định vị, bạn thường quan tâm đến việc đặt vị trí ban đầu, điểm giữa hoặc giới hạn và mức thu phóng (mức mà bản đồ được phóng to vào 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 đồ.

Tuỳ chỉnh bản đồ của bạn

Bạn có thể thay đổi giao diện và chi tiết của bản đồ theo một số 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 bản đồ mặc định.
  • Thay đổi màu sắc của các đối tượng trên bản đồ để phản ánh thương hiệu của bạn.
  • Kiểm soát những địa điểm bạn quan tâm (điểm hấp dẫn, thức ăn, cơ sở lưu trú, v.v.) hiển thị và mật độ hiển thị. Nhờ đó, bạn có thể thu hút sự chú ý của người dùng vào các vị trí của bạn, đồng thời làm nổi bật các điểm mốc giúp người dùng đến địa điểm gần nhất.

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

Bạn có thể tuỳ chỉnh điểm đánh dấu bằng cách thay đổi màu mặc định (có thể cho biết một vị trí hiện có đang mở cửa hay không) hoặc thay thế điểm đánh dấu bằng một hình ảnh tuỳ chỉnh, chẳng hạn như biểu trưng của thương hiệu. 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 thậm chí là ảnh. Bạn cũng có thể tạo điểm đánh dấu tuỳ chỉnh dạng đường quét, vectơ, có thể kéo và thậm chí là ảnh động.

Dưới đây là bản đồ mẫu sử dụng điểm đánh dấu tuỳ chỉnh. (Xem mã nguồn trong chủ đề điểm đánh dấu tuỳ chỉnh Maps JavaScript API.)

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

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

Nền tảng Google Maps cho phép bạn tạo kiểu cho bản đồ theo những 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 bản đồ cho phù hợp với các thành phần xây dựng thương hiệu của mình, đồng thời có thể giảm thiểu sự phân tâm trên bản đồ bằng cách kiểm soát các địa điểm yêu thích mà người dùng có thể nhìn thấy. Nền tảng Google Maps cũng cung cấp một số mẫu khởi đầu bản đồ, một số mẫu trong số đó được tối ưu hoá cho các ngành khác nhau, chẳng hạn như du lịch, kho vậ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 đồ trên trang Kiểu bản đồ của Google Cloud Console trong dự án của mình.

Mở rộng để xem ảnh động khi tạo và định kiểu bản đồ trong Cloud Console:

Kiểu bản đồ 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. Các kiểu này cung cấp đ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ẻ giảm các địa điểm yêu thích trên bản đồ, cho phép người dùng tập trung vào vị trí của bạn cũng như các địa danh để giúp họ đến địa điểm 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 đồ, nhấp chuột vào Tạo kiểu bản đồ mới. Trên trang Kiểu bản đồ mới, nhấp chuột vào nút chọn bên cạnh mỗi kiểu được tối ưu hoá theo ngành sau: Du lịch, Hậu cần, Bất động sản và Bán lẻ. Khi mỗi nút được nhấp, nội dung mô tả kiểu bản đồ và bản xem trước đồ hoạ sẽ thay đổi.

Kiểm soát địa điểm yêu thích

Ảnh động này đặt màu đá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 POI xuất hiện trên bản đồ.

Trên trang Kiểu bản đồ, nhấp chuột vào Tạo kiểu bản đồ mới. Trên trang Kiểu bản đồ mới, trong phần Tạo kiểu riêng của bạn, nút chọn Google Map được chọn. Chuột nhấp vào nút chọn Atlas cho kiểu Atlas,
              rồi nhấp vào Open trong Style Editor (Mở trong Trình chỉnh sửa kiểu). Trong Trình chỉnh sửa kiểu, nhấp chuột vào tính nă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 màu đỏ. Sau đó, chuột chọn hộp đánh dấu POI Density và trượt mục kiểm soát mật độ sang phải để đạt mật độ tối đa. Ngày 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 đồ có mã nhận dạng riêng. Sau khi phát hành 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 các nền tảng. Các ví dụ sau cho thấy cách thêm mã bản đồ vào một trang web bằng cách sử dụng Maps JavaScript API.

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

<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>

Mã sau đây hiển thị một bản đồ đã tạo kiểu trên trang web. (Không hiển thị là phần tử HTML <div id="map"></div>, trong đó 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 kiểu bản đồ dựa trên đám mây trong JavaScript (web), AndroidiOS.

Kết hợp dữ liệu vị trí tùy chỉnh với Thông tin chi tiết về địa điểm

Trong phần Hiển thị vị trí của bạn trên bản đồ tương tác trước đây, chúng tôi đã đề cập đến việc sử dụng Thông tin chi tiết về địa điểm để cung cấp cho người dùng nhiều thông tin phong phú về các địa điểm của bạn, chẳng hạn như giờ mở cửa, ảnh và bài đánh giá.

Bạn nên nắm được chi phí của các trường dữ liệu trong Thông tin chi tiết về địa điểm, được phân loại là Dữ liệu cơ bản, Dữ liệu liên hệ và Dữ liệu về khí quyển. Để quản lý chi phí, một chiến lược là kết hợp thông tin bạn đã có về các vị trí của mình với thông tin mới (thường là Dữ liệu cơ bản và Dữ liệu liên hệ) từ Google Maps, chẳng hạn như đóng cửa tạm thời, giờ nghỉ lễ và đ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ửa hàng, bạn không cần yêu cầu các trường đó trong Thông tin chi tiết về địa điểm và có thể ràng buộc yêu cầu của mình chỉ tìm nạp các trường Dữ liệu cơ bản hoặc Bầu không khí tuỳ thuộc vào nội dung bạn muốn hiển thị.

Bạn có thể có dữ liệu địa điểm của riêng mình để bổ sung hoặc sử dụng thay cho Thông tin chi tiết về địa điểm. Lớp học lập trình cho trình định vị toàn ngăn xếp đưa ra một 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 vị trí của riêng bạn.