2013-03-12 2 views
0

У меня есть некоторые данные радара для отображения с плагином Google Earth. Как правило, это некоторые наземные объекты с координатами и временной меткой. Я выполнил инструкции в https://developers.google.com/kml/documentation/time, пробовал как временную метку, так и временную шкалу, и она отлично работает. Но эффекты отображения не удовлетворяют.Google Earth Как анимировать метки KML плавно

Для решения временной метки ярлыки просто кратковременно мигают точно в указанное время тегами. И когда я нажал кнопку воспроизведения, на карте ничего не отображается. Пример кода:

<Folder> 
    <name>Vehicles</name> 
    <description>Timeline information of vehicles</description> 
    <Placemark> 
    <name>2</name> 
    <description>(-84.114231,39.785436,-0.000216),V(13.411216,37.555181) at 0.00s</description> 
    <TimeStamp> 
     <when>2012-09-19T08:00:00Z</when> 
    </TimeStamp> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.114231,39.785436,-0.000216</coordinates> 
    </Point> 
    </Placemark> 
    <Placemark> 
    <name>910</name> 
    <description>(-84.110335,39.788438,-0.000024),V(0.000000,0.000000) at 0.80s</description> 
    <TimeStamp> 
     <when>2012-09-19T08:00:30Z</when> 
    </TimeStamp> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.110335,39.788438,-0.000024</coordinates> 
    </Point> 
    </Placemark> 
    <Placemark> 
    <name>2</name> 
    <description>(-84.114133,39.785494,-0.000285),V(13.411216,37.555118) at 0.80s</description> 
    <TimeStamp> 
     <when>2012-09-19T08:00:30Z</when> 
    </TimeStamp> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.114133,39.785494,-0.000285</coordinates> 
    </Point> 
    </Placemark> 
    <Placemark> 
    <name>910</name> 
    <description>(-84.110307,39.788410,-0.000046),V(3.499966,307.390012) at 1.60s</description> 
    <TimeStamp> 
     <when>2012-09-19T08:01:00Z</when> 
    </TimeStamp> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.110307,39.788410,-0.000046</coordinates> 
    </Point> 
    </Placemark> 
</Folder> 
       ... 

Для случая TimeSpan, анимация в порядке, но всегда есть хвост следует каждому объект: метки в предыдущих кадрах не исчезают сразу в начале нового отрезка времени.

Пример кода:

... 
<Folder> 
    <name>Vehicles</name> 
    <description>Timeline information of vehicles</description> 
    <Placemark> 
    <name>2</name> 
    <description>(-84.114231,39.785436,-0.000216),V(13.411216,37.555181) at 0.00s</description> 
    <TimeSpan> 
     <begin>2012-09-19T08:00:00Z</begin> 
     <end>2012-09-19T08:00:10Z</end> 
    </TimeSpan> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.114231,39.785436,-0.000216</coordinates> 
    </Point> 
    </Placemark> 
    <Placemark> 
    <name>910</name> 
    <description>(-84.110335,39.788438,-0.000024),V(0.000000,0.000000) at 0.80s</description> 
    <TimeSpan> 
     <begin>2012-09-19T08:00:10Z</begin> 
     <end>2012-09-19T08:00:20Z</end> 
    </TimeSpan> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.110335,39.788438,-0.000024</coordinates> 
    </Point> 
    </Placemark> 
    <Placemark> 
    <name>2</name> 
    <description>(-84.114133,39.785494,-0.000285),V(13.411216,37.555118) at 0.80s</description> 
    <TimeSpan> 
     <begin>2012-09-19T08:00:10Z</begin> 
     <end>2012-09-19T08:00:20Z</end> 
    </TimeSpan> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.114133,39.785494,-0.000285</coordinates> 
    </Point> 
    </Placemark> 
    <Placemark> 
    <name>910</name> 
    <description>(-84.110307,39.788410,-0.000046),V(3.499966,307.390012) at 1.60s</description> 
    <TimeSpan> 
     <begin>2012-09-19T08:00:20Z</begin> 
     <end>2012-09-19T08:00:30Z</end> 
    </TimeSpan> 
    <styleUrl>#vehicleStyle</styleUrl> 
    <Point> 
     <coordinates>-84.110307,39.788410,-0.000046</coordinates> 
    </Point> 
    </Placemark> 
</Folder> 
       ... 

Так есть ли решение, чтобы сделать метки непрерывно анимации? Благодарю.

P.S. Трек не учитывается, так как информация отслеживания между точками данных пока недоступна.

+0

Это действительно сложно понять, что вы на самом деле спрашиваете здесь, не могли бы вы попытаться изменить вопрос? Если вы используете плагин Earth, то, вероятно, лучше обрабатывать любую анимацию через java-скрипт api, а не в Kml напрямую ... – Fraser

+0

Извините, если я не уточню. Моя проблема в том, что у меня есть куча следов транспортных средств, представленных в виде отдельных дискретных точек, связанных с отметками времени. Поэтому, если я буду играть эти кадры за кадром, ожидаемым выходом могут быть некоторые точки, непрерывно движущиеся по дорогам. Данные генерируются из некоторых других программ и очень большого объема. Поэтому я считаю, что проще использовать kml в качестве интерфейса между обеими сторонами. – user2162367

ответ

0

Если я понимаю, что вы просите, вы можете сделать это, просто переключив стиль меток с помощью JavaScript api.

Для этого вы можете просто создать стиль в своем документе Kml, например.

<Style id="vehicleStyleHighighted"> 
    <IconStyle> 
    <color>ff00ff00</color> 
    <colorMode>random</colorMode> 
    <scale>1.5</scale> 
    <Icon> 
     <href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href> 
    </Icon> 
    </IconStyle> 
</Style> 

Вы можете затем использовать метод setStyleUrl() вместе с таймером, чтобы установить стиль каждого Placemark в. И.Е. Вы бы переключали каждый стиль меток между #vehicleStyleHighighted и '#vehicleStyleHighighted.

Если вам нужна более простая анимация «вкл./Выкл.», Вы можете определить более двух состояний анимации, используя этот метод, а затем просто применить их по мере необходимости.

Смежные вопросы