1

KMLフィードでGMapを使用して、地図上に場所を表示しています。次に例を示します。

http://jugendinfo.de/themen.php/873/geo.html

このマップのピンは赤である必要があるため、KMLジェネレーターで次のPHP4コードを使用して色を設定しました。

$snode = $dom->create_element('Style');
$styleNode = $docNode->append_child($snode);
$styleNode->set_attribute('id', 'normalPlacemark');

$lnode = $dom->create_element('LabelStyle');
$labelNode = $styleNode->append_child($lnode);

$cnode = $dom->create_element('color');
$colorNode = $labelNode->append_child($cnode);

$colorText = $dom->create_text_node('ffcc0000');
$colorNode->append_child($colorText);

これにより、次のKMLコードが生成されます。

<Style id="normalPlacemark">
  <LabelStyle>
    <color>ffcc0000</color>
  </LabelStyle>
</Style>

完全なKMLソースは、次の場所から読み込むことができます。

http://jugendinfo.de/feeds/geo.php/873.kml

しかし、色のスタイルは尊重されていないようです。KMLドキュメントにスタイル要素がないと、ピンは表示されません。色を変更するにはどうすればよいですか?APIドキュメントはこの問題について非常に制限されているようで、PHPコードスニペットの例はかなりバグがあり、それを機能させるためのヒントを得ることができませんでした。ほとんどの例は、GoogleマップではなくGoogleEarthに当てはまるようです。

4

1 に答える 1

3
  • LabelStyleは、実際には、画鋲画像の色ではなく、GoogleEarthで描画されるラベルの色を参照します。
  • KMLの色は、次の形式aabbggrrで指定されます。ここで、a if alpha、bは青、rは16進数で赤であるため、Webで使用されるrrggbbとは異なります。

画像を変更したい場合は、IconStyleを使用してください。カラースペックがグーグルマップで機能するとは思わないが、目印にカスタムアイコン画像のURLを指定することができる。

<Style id="normalPlacemark">
    <IconStyle>
             <color>ff00ff00</color>
                         <Icon>
                <href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href>
             </Icon>
          </IconStyle>
</Style>

参照:http ://code.google.com/apis/kml/documentation/kmlreference.html#iconstyle

于 2011-01-31T00:29:59.867 に答える