При открытии файла html маркеры булавок Google Maps не отображаются - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть файл python, где я использую gmplot для создания пользовательских маркеров в gmaps. Я сохраняю это как HTML файл. Он прекрасно работает, когда я открываю файл на моем компьютере. Однако, когда я пытаюсь открыть его в своем телефоне или отправить по электронной почте и открыть другой компьютер, все контакты исчезают. Карта загружается по центру именно там, где и должна быть. Вот код

import gmplot
import pandas as pd
import random
newdir = r'C:\Users\.spyder-py3'
newfile = r'\EWMP List 2019 Addresses.xlsx'
df=pd.read_excel(newdir+newfile)
#colors=pd.read_csv(newdir+r'\html_colors.csv')
#color_list=[]
# html colors is a csv file with hexa codes for different colors
# I am suppressing the randomizer and hardcoding the colors here to see if that works.  It doesn't
#for i, k in enumerate(random.sample(range(len(colors)),10)):
#    color_list.append(colors['Hex Code'][k])
placetypelist=df['placetype'].unique().tolist()
#In the original code, I cycle through the placetype_list and color_list append them to the color_dict as #key and item  
# As you can see below I am hardcoding this dictionary
color_dict={'Greenway': '#FF0000',
 'Miscellaneous': '#AFEEEE',
 'Natural Restoration': '#DA70D6',
 'School': '#3CB371',
 'golf course': '#191970',
 'green street': '#EE82EE',
 'park and open space': '#808080',
 'parking lot': '#F8F8FF',
 'school': '#C71585',
 'unknown land parcel': '#1E90FF'}
#for i in range(len(color_list)):
#     color_dict[placetypelist[i]] = (color_list[i])
latlist=df['resolved_lat'].tolist()
lnglist=df['resolved_lng'].tolist()
gmaps=gmplot.GoogleMapPlotter(latlist[0],lnglist[0],zoom=13,apikey=<myAPIkeyasstring>)     
for i in range(len(latlist)):
    gmaps.marker(latlist[i],lnglist[i],c=color_dict[df['placetype'][i]], title=str(i)+df['placetype'][i])
gmaps.draw(newdir+r'\laconcise_alt.html')

Когда я открываю файл в chrome из этого каталога, он открывает с выводами . enter image description here

Но когда я отправляю его как вложение электронной почты и пытаюсь открыть его из другого терминала, я получаю карту без пинов . Что я делаю неправильно? enter image description here

1 Ответ

0 голосов
/ 08 февраля 2020

Я думаю, что нашел ответ благодаря отличной работе в этой ссылке github

t.ly / DZX03

Допустим, вы используете логи c что я использую там, где вы работаете с гексакодами через файл CSV для html цвета. Как правило, вы будете иметь CSV цветов, используемых в Matplotlib (140, я думаю). Модуль gmplot имеет файл color_dict, который не обновил все цвета matplotlib. Это вызовет ошибку, если вы используете гекса-код, которого нет в их списке. Поэтому, пожалуйста, обновите файл color_dict на своем конце, прежде чем работать со случайным CSV-файлом, как я. Я думаю, что лучшим вариантом было бы импортировать html цветовые коды из файла color_dict в ваш код и работать с этим.

...