The easy answer is that Spectrum can detect connections between Pingables and Switches, if it can identify how they are connected.
However, that means that first Spectrum must be able to find the MAC address of the pingable. It might get that from arp caches or reading it from the arp tables on the routers. Additionally, it needs to be able to find the MAC address on the switch via something like the bridge tables. Most times, everything talks well together. However, there are times when the MAC may not be able to be found, or switches don't support the needed mibs to identify the ports where the MAC was heard. Since there are so many pieces that make up the process, your best bet for tracking down where it is failing is to open a ticket with support.
I have seen situations where Spectrum can map out massive networks that are primarily pingables, and I have a situation where the same switch with two different firmwares, one will map one won't because they broke the mib.
Worst case, you can map the connections manually, and even "lock" the connections so that they don't get removed.