2012-05-16 29 views
8

Tôi đang tải tệp KML qua API V3 của Google Map. Các màu trong tệp KML đang được sử dụng nhưng tôi muốn ghi đè màu đó bằng màu của riêng tôi. Tôi thực sự muốn sử dụng một màu đồng nhất cho toàn bộ dấu vết. Có cách nào để làm việc này không?Cách ghi đè màu KML trong Google Map?

Trả lời

9

Màu KML dựa trên các thẻ Styleapi-doc được xác định trực tiếp trong KML hoặc sử dụng tham chiếu đến tệp kiểu KML bên ngoài (tương tự như CSS). Chúng tôi sử dụng tệp kiểu bên ngoài để các kiểu có thể được áp dụng cho nhiều tệp KML.

Điều này có nghĩa rằng trong vòng KML dữ liệu file của chúng tôi, bạn sẽ tìm thấy các mục như thế này:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.2"> 
<Document> 
    <name>Country Borders</name> 
    <open>1</open> 
    <Placemark> 
     <name>Russian Federation</name> 
     <styleUrl>kml-styles.kml#red</styleUrl> 
--- etc. --- 

Các styleUrl thẻ trên về cơ bản nói: đi tìm trong các file: kml-styles.kml và tìm ra phong cách đặt tên: red.

Và trong KML phong cách tập tin của chúng tôi, bạn sẽ tìm thấy các mục như thế này:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.2"> 
<Document> 
    <name>KML Styles</name> 
    <open>1</open> 
    <Style id="red"> 
     <LineStyle> 
      <color>7da00000</color> 
      <width>1</width> 
     </LineStyle> 
     <PolyStyle> 
      <color>7f0000ff</color> 
     </PolyStyle> 
    </Style> 
    <Style id="green"> 
     <LineStyle> 
      <color>FFFF00</color> 
      <width>1</width> 
     </LineStyle> 
     <PolyStyle> 
      <color>7f00aa00</color> 
     </PolyStyle> 
    </Style> 
    --- etc. --- 

Điều quan trọng cần lưu ý là KML màuapi-doc định nghĩa bao gồm Tám chữ số hex trong định nghĩa của họ; thêm hai chữ số so với thông lệ cho các định nghĩa màu khác, bởi vì hai chữ số thập phân đầu tiên xác định độ mờ màu (alpha).

Ví dụ tại KML Styleapi-doc (giống như liên kết ở trên cùng), cũng cho biết cách định dạng có thể được xác định trực tiếp trong tệp KML chứa dữ liệu.

0

KML là XML, vì vậy bạn nên sử dụng XSL (vâng, tôi không) hoặc PHP hoặc (tùy thuộc vào các chi tiết cụ thể) JavaScript để phân tích cú pháp/chuyển đổi/tái sắp xếp lại thành KML.

4

KML màu sắc làm việc như vậy,

<color>AABBGGRR</color> 
AA = alpha opacity 
BB = blue 
GG = gren 
RR = red 

The range is from 00 -> ff 

RGB for white = 255, 255, 255, hex -> #ffffff 

RGB for yellow is 255,255,0, hex -> #ffff00 

Hex cũng có thể được xem như

#RRGGBB 

Bạn có thể dễ dàng di chuyển các màu sắc xung quanh để làm việc cho KML

nên vàng trong KML sẽ là

<color>ff00FFFF</color> 
<color>AABBGGRR</color> 

Điều này đã làm việc cho tôi.

Ngoài ra, đối với đường viền sử dụng bên dưới.

<outline>1</outline> 

https://developers.google.com/kml/documentation/kmlreference

Các vấn đề liên quan