2016-09-29 3 views
0

В настоящее время у меня есть asp.net код, генерирующий этот URL:Почему я не могу показаться, чтобы использовать пользовательские иконки, генерируемые из ASP.net с Google Map API статических маркеров

https://maps.googleapis.com/maps/api/staticmap?center=57.145329,-2.10066&zoom=13&size=600x300&maptype=roadmap&markers=icon:http://localhost:63709/ShowMapIcon.ashx?id=21|57.145329,-2.10066&key=AIzaSyCysdGK0acTzKqW01IPvUanvPwFSXfX-NE

(теперь очевидно, что не будет работать для кого-либо еще из-за его локально размещенных на данный момент)

Это создает этот образ: Image without correct marker

Теперь, если я г eplace "http://localhost:63709/ShowMapIcon.ashx?id=21"

С https://www.megaadresse.com/images/icons/google-maps.png

Тогда что работает: https://maps.googleapis.com/maps/api/staticmap?center=57.145329,-2.10066&zoom=13&size=600x300&maptype=roadmap&markers=icon:https://www.megaadresse.com/images/icons/google-maps.png|57.145329,-2.10066&key=AIzaSyCysdGK0acTzKqW01IPvUanvPwFSXfX-NE

(который вы можете проверить :))

Но если я иду прямо к:

http://localhost:63709/ShowMapIcon.ashx?id=21

Тогда я вижу изображение: Image Downloaded From Map Icon

Так почему же не мои генерируемую ссылка работает? После некоторых проб и ошибок я обнаружил, что изображение маркера должно быть ниже 64 * 64pix, поэтому, чтобы исключить любую другую странность, я загрузил изображение megaadresse в нашу базу данных и после загрузки изображения с моего адреса asp.net и веб-адреса они выглядят одинаково: Picture Details

Мое предположение, что из-за ShowMapIcon.ashx.cs сам генерировать этот образ из байтов в базе данных (я не знаю, почему его сделали этот путь, унаследованного кода), что то, что происходит, так или иначе, карта создается перед showmapicon?

Но это также может быть синтаксический конфликт с asp.net (я буду видеть, если я могу написать несколько тестов вокруг этого)

Или это может быть просто я полностью Непонимание API Google ??

Если у кого есть предложения, я был бы очень благодарен

Примечание: Я пытаюсь встроить Google Maps изображения в PDF, так что все это происходит в URL образа ячейки ITextsharp, так что я было бы желательно сохранить логику в формате, который заканчивается действительным URL-адресом img, который я могу отправить ITextsharp. Так что нужно будет работать, как это происходит в приведенном ниже фрагменте кода:

<img src= "https://maps.googleapis.com/maps/api/staticmap?center=57.145329,-2.10066&zoom=13&size=600x300&maptype=roadmap&markers=icon:https://www.megaadresse.com/images/icons/google-maps.png|57.145329,-2.10066&key=AIzaSyCysdGK0acTzKqW01IPvUanvPwFSXfX-NE">

ответ

2

Во-первых, как это API, Google знает, что это локальный? Запрос карты Google уходит и извлекает карту в указанном местоположении с серверов Google, а затем пытается создать пользовательский маркер с изображения, на которое он не ссылается, потому что он локален для вашей рабочей сети.

+0

Бах конечно! теперь чувствую себя довольно глупым, не принимал во внимание, что серверы google будут получать доступ к этому URL-адресу! – chrispepper1989