Разный подход для создания столбцов string
create table #temp
(
date datetime,
category varchar(3),
amount money
)
insert into #temp values ('1/1/2012', 'ABC', 1000.00)
insert into #temp values ('2/1/2012', 'DEF', 500.00)
insert into #temp values ('2/1/2012', 'GHI', 800.00)
insert into #temp values ('2/10/2012', 'DEF', 700.00)
insert into #temp values ('3/1/2012', 'ABC', 1100.00)
DECLARE @cols AS NVARCHAR(MAX)='';
DECLARE @query AS NVARCHAR(MAX)='';
SELECT @cols = @cols + QUOTENAME(category) + ',' FROM (select distinct category from #temp ) as tmp
select @cols = substring(@cols, 0, len(@cols)) --trim "," at end
set @query =
'SELECT * from
(
select date, amount, category from #temp
) src
pivot
(
max(amount) for category in (' + @cols + ')
) piv'
execute(@query)
drop table #temp
Результат
date ABC DEF GHI
2012-01-01 00:00:00.000 1000.00 NULL NULL
2012-02-01 00:00:00.000 NULL 500.00 800.00
2012-02-10 00:00:00.000 NULL 700.00 NULL
2012-03-01 00:00:00.000 1100.00 NULL NULL
.gm-style > div:first-child {
z-index: 10000000 !important;
}
z-index: 1000000 добавляется js для всех div, но мы хотим видеть только карту, поэтому мы должны установить z-index на 10000000
использовать этот код (css)
a[href^="http://maps.google.com/maps"]{display:none !important}
Сначала поместите ваши карты в контейнер:
<div id="map">
<div class="google-maps"></div>
</div>
CSS:
#map {
position: relative;
height: 500px;
overflow: hidden; //important
}
#map .google-maps {
position: absolute;
width: 100%;
height: 110%; //that will do the trick
left: 0;
top: 0;
}
Улучшая другое решение здесь, это просто отключает ссылки на карте, поэтому люди не покидают приложение (и застревают без возможности вернуться). В приложении это имеет большое значение, когда люди пытаются прокрутить небольшую карту и нажмите по ошибке.
google.maps.event.addListenerOnce(map, 'idle', function(){
$("#map a").click(function(){
return false;
});
});
Это работает пока, по крайней мере, до тех пор, пока они не изменят атрибут title для ссылки вокруг логотипа.
.gm-style a[title='Click to see this area on Google Maps']{ display: none!important; }
Как вы упомянули, удаление логотипа Google и уведомлений об авторских правах не соответствует API-интерфейсам Google Maps TOS , в частности, в пункте 9.4:
«Содержимое предоставлено вы через Службу могут содержать Брэнд-функции Google, ее стратегических партнеров или других сторонних правообладателей контента, которые индексируются Google. Когда Google предоставляет эти Брэнд-характеристики или другие атрибуты через Службу, вы должны отображать такую атрибуцию, как указано ( или как описано в Документах API Карт) и не должны удалять или изменять атрибуцию. ".
Чтобы быть в соответствии с Условиями обслуживания, всегда удостоверяйтесь, что логотип Google и уведомления об авторских правах видны.
Попробуйте это для api v3:
.gm-style-cc { display:none; }
Работает как шарм с v3:
.gm-style-cc {
display: none !important;
}
.gm-style a[href^="https://maps.google.com/maps"] {
display: none !important;
}
Возьмите примечание для второго селектора. Я использую .gm-style
перед a
, потому что иначе он скроет все ссылки на https://maps.google.com/maps
не только из самой карты google.
Вы можете предотвратить щелчок на google copyright.so, что он не позволит пользователю выйти из вашего приложения. Надеемся, что это устраняет вашу проблему.
google.maps.event.addListenerOnce(map, 'idle', function(){
// do something only the first time the map is loaded
//@mapCopyright - gets the google copyright tags
var mapCopyright=document.getElementById('map-canvas').getElementsByTagName("a");
$(mapCopyright).click(function(){
return false;
});
});
Вы можете сделать это:
#map-report a img { display:none; }
#map .gm-style > div:not(:first-child) { display: none; }
$('#map .gm-style > div:not(:first-child)').remove()
this:
#map-repor > div {
height: 105% !important;
}
достаточно в моем случае
Это сделает трюк.
$('#map span:contains("©")')
.closest('.gmnoprint')
.css('opacity', '0')
Обновление в январе 2018 года. Лишь только чистая карта:
a[href^="http://maps.google.com/maps"],
a[href^="https://maps.google.com/maps"],
a[href^="https://www.google.com/maps"] {
display: none !important;
}
.gm-bundled-control .gmnoprint {
display: block;
}
.gmnoprint:not(.gm-bundled-control) {
display: none;
}
По состоянию на февраль 2018 CSS выше делает маркеры на карте unclickabe. Если у вас нет каких-либо маркеров, у вас не будет никаких проблем, но если вы просто удалите последнее правило CSS .gmnoprint:not(.gm-bundled-control)
, маркеры станут кликабельными, но будут некоторые небольшие авторские права и термины использования этикеток
a[href^="http://maps.google.com/maps"]{display:none !important}
a[href^="https://maps.google.com/maps"]{display:none !important}
.gmnoprint a, .gmnoprint span, .gm-style-cc {
display:none;
}
.gmnoprint div {
background:none !important;
}
Вы не можете удалить его из API. Но вы можете использовать div, который вы можете разместить в уведомлении об авторских правах
<div style="width:100px; height:15px; position:absolute; margin-left:100px margin-
bottom:50px; background-color:white;">
</div>
, вносить изменения в высоту, ширину и поля в зависимости от необходимости.